Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Понравилась статья? Поделись ею с друзьями!
Forex Trader
114255
Forex Trader 2006.04.04 22:14 
Уважаемые разработчики !
Думаю, что многие, при создании своих скриптов и др.программ, используют размещение объектов на графике. В скриптах удалять эти объекты по завершении, как правило, нельзя. Иначе никаких слидев его работы на графике не останется. Поэтому перед следующим его запуском (в процессе отладки, например) график приходится чистить руками.

Нельзя ли в окне Список объектов добавить кнопку "Удалить все" или кнопку "Выделить все".
И, желательно, аналогичное добавление сделать в меню Графики->Объекты.
Forex Trader
114255
Forex Trader 2006.04.04 23:11  
В окне "Список объектов" можно выделить первый объект и нажать Shift + End.
Хотя, это не очень удобно. Лучше бы работала стандартная комбинация Ctrl + A ;)
Forex Trader
114255
Forex Trader 2006.04.05 00:21  
А что мешает чистить экран при пуске?
Просто надо знать что чистить. Для этого все объекты, потенциально назначенные к удалению, должны иметь однотипные названия, например, начинаться с некоторой одинаковой последовательности символов.

Я, например, сделал для этого функцию, правда используется она в deinit(), но ничего не мешает поставить её в init().
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
// AG_Del_Obj_scr.mq4
// Предназначен для работы в качестве функции в программном комплексе AutoGraf.
// Удаление всех объектов, созданных AutoGrafом.
// 
// Распространяется бесплатно без ограничений.
// Автор: Сергей Ковалёв, Днепропетровск, sk@mail.dnepr.net
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
//
//
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
int AG_Del_Obj_scr()
   {
   Kol_Obj_Del=0;                                                          // Пока нет объектов к удалению
   Kol_Objects=ObjectsTotal();
//====================================================================================================================
   for (k=0; k < Kol_Objects; k++)                                         // По количеству объектов
      {
      His_Name = ObjectName(k);                                            // Извлекаем имя объекта
      Nachalo  = StringSubstr(His_Name,0,9);                               // Извлекаем первые 9 символов= "AutoGraf_"
//--------------------------------------------------------------------------------------------------------------------
      if (Nachalo == AutoGraf)                                             // Найден объект, созданный AutoGraf-ом
         {
         Kol_Obj_Del=Kol_Obj_Del+1;                                        // Количество имён объектов к удалению
         Mas_Name_Del[Kol_Obj_Del]=His_Name;           
         }
//--------------------------------------------------------------------------------------------------------------------
      }                                                                    // Продолжаем искать "наши" объекты
//====================================================================================================================
   for (i=1; i<=Kol_Obj_Del; i++)                                          // Удаляем все объекты с именами,.. 
      {                                                                    // ..имеющимися в массиве
      ObjectDelete(Mas_Name_Del[i]);
      }
//====================================================================================================================
   ObjectsRedraw();                                                        // Для моментального отображения
   return;
   }
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж Конец модуля жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
Forex Trader
114255
Forex Trader 2006.04.05 10:59  
Да в общем нет проблем почистить и руками - всего несколько нажатий клавиш.
Да и программно чистить тоже не вопрос.
Однако, если есть пункт меню "Снять все выделения", то логично иметь и пункт "Выделить все".
А если иметь его в меню, то почему бы не иметь и в окне "Список объектов".
Насколько я понимаю, для разработчиков это пара пустяков.

SK, есть несколько человек на этом форуме, присутствие которых в любой ветке делает ее для меня и интересной, и приятной для чтения. Вы, также как и komposter, входите в их число.
Но есть еще одно удовольствие - мы живем с Вами в одном городе.

С уважением,
Forex Trader
114255
Forex Trader 2006.04.05 14:36  
Yurixx,
это замечательно! Если будут взимноинтересные вопросы, то легко встречаться.

"Выделить все" не всегда удобно использовать, поскольку (в моём случае, по крайней мере) на графике желательно присутствие некоторых объектов, удаление кот. не предполагается.
К таковым могут относиться, например, каналы, уровни Фибо и пр.
Поэтому, я думаю, лучше чистить персонально то, что надо вычистить. А то, что за пределами компетенции советника - сохранять.
/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий