Проблема с шрифтом и выводом по строчкам - страница 2

 
TheXpert:
Руки отрубать надо за такой код.
Так короче.
 
pusheax:
Так короче.
Так тупо, коряво и неправильно.
 
TheXpert:
Так тупо, коряво и неправильно.

Мне нравится.

Хорошо, а как надо?

 
pusheax:

Хорошо, а как надо?

Только свое удалять.
 

я использую макрос для удаления графического объекта в главном окне:

#define KillObject(str) if (ObjectFind(0, str) >= 0) ObjectDelete(0, str);

ну и юзаем:

 KillObject(obj1Name);
 KillObject(obj2Name);
 KillObject(obj3Name); 
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Типы событий графика
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Типы событий графика
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы графиков / Типы событий графика - Документация по MQL5
 

Можно например написать свою обертку вокруг ObjectCreate, которая будет сохранять имена всех создаваемых кодом объектов в один массив.

Потом тупо пробегаем по массиву и удаляем по имени.

 
notused:

я использую макрос для удаления графического объекта в главном окне:

ну и юзаем:

 

 

 

Да, спасибо я уже сделал:

#define def_ID "LPS_1M"

void OnDeinit(const int reason)
{
   s_iniz.s_DeleteObjects(0, 0, -1, def_ID);// удаляются все объекты только владельца//ObjectsDeleteAll(0,0,-1);             // удаляются все объекты с графика.     
}

void S_Iniz::s_DeleteObjects(int i_chart_id, int i_nwin, int i_type, string s_ID_Objects)
{
string s_ObjectName;
   for (int i = ObjectsTotal(i_chart_id,i_nwin,i_type)-1; i >= 0 ;i--){
      s_ObjectName = ObjectName(i_chart_id,i,i_nwin,i_type);
      if (StringFind(s_ObjectName, s_ID_Objects) != -1){
         ObjectDelete(i_chart_id,s_ObjectName);
      }
   }
}
 

Раз уж тут пошли вариации на тему удаления объектов,то напишу .Возникли не понятки с данной темой.

Данный код рисует 5 горизонтальных линий.Потом замечательно находит в именах подстроки.Все выводы Find=0.

void OnStart()
    {
      for(int i=0;i<5;i++)
       {
        ObjectCreate(0,"Obj_"+(string)i,OBJ_HLINE,0,0,1.3000+10*i*_Point); // Рисуем 5 линий
       }
    
     
      int objtot=ObjectsTotal(0,0,-1); // определяем количество
      Print("Objects Total=",objtot);
      
      for(int x=0;x<objtot;x++) // перебираем все объекты
       {
        string name=ObjectName(0,x,0,-1); // получаем имя
        Print("Name ",x,"=",name);
       
        int find=StringFind(name,"Obj",0); // ищем подстроку
        Print (find);
       
        // if(find>-1) {ObjectDelete(0,name);}
       }
       
      ChartRedraw(0);
  
    }

 

если после этого включить сторку с удалением объекта ,то две линии остаются.Не может найти подстроку "вдруг".

 

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов - Документация по MQL5
Файлы:
 
С удалением обратный цикл нужен или корректировка индекса.
 
TheXpert:
С удалением обратный цикл нужен или корректировка индекса.
Точно.Спасипп.