Скачать MetaTrader 5

ObjectDelete - удаление по префиксу объекта

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Понравилась статья? Поделись ею с друзьями!
Forex Trader
114257
Forex Trader 2008.04.06 22:14 
Уважаемые разработчики !

Для функции ObjectDelete (…) предлагаю реализовать возможность удаления по префиксу - удаляются только те графические объекты, имена которых начинаются на указанный префикс ( по аналогии с функцией GlobalVariablesDeleteAll(...) ).

Хотелось бы иметь возможность программного выделения графического объекта.
Forex Trader
114257
Forex Trader 2008.04.07 12:17  
К сожалению, в нынешней версии клиентского терминала это не получается.

У функциии ObjectDeleteAll нет параметра для имени, а функция ObjectDelete требует точного имени - её семантика не предполагает группового удаления.
Forex Trader
114257
Forex Trader 2008.04.07 13:20  

Уважаемые разработчики !

Для функции ObjectDelete (…) предлагаю реализовать возможность удаления по префиксу - удаляются только те графические объекты, имена которых начинаются на указанный префикс ( по аналогии с функцией GlobalVariablesDeleteAll(...) ).

Хотелось бы иметь возможность программного выделения графического объекта.


Так а что там за проблема ? Код на пару строчек.

Наслаждайтесь ;).


int Restart()
{
   //Comment(" ");
   return(0);
   }//int Finish()

int Finish(string indPrefics)
{
string obj_nm = "";
    Comment(" ");
    for(int i=ObjectsTotal()-1;i>=0;i--)
    {
        obj_nm = ObjectName(i);
        if(StringFind(obj_nm,indPrefics,0)== 0 ) ObjectDelete(obj_nm);
    }
    //ObjectDelete(RectBCName);
    return(0);
}//int Finish()

int deinit()
{
    switch(UninitializeReason())
    {
        case REASON_CHARTCLOSE : 
        case REASON_REMOVE     : 
        case REASON_RECOMPILE  : Finish(UIP); break;   // очистка и освобождение ресурсов.
        case REASON_CHARTCHANGE: 
        case REASON_PARAMETERS : 
        case REASON_ACCOUNT    : Restart(); break;  // подготовка к рестарту.
        default                : Finish(UIP);  break;
    }
    //...
    return(0);
}// int deinit()



Заполняйте эту рыбу как заблагорассудится. Имя переменной для индикатора должно начинаться с перфикса.

Успехов.

Forex Trader
114257
Forex Trader 2008.04.07 16:59  
To Vladislav 07.04.08 13:20

Большое спасибо за помощь.

Функции ObjectsTotal() и ObjectName() до этого момента не использовала.
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий