exchangeobjects

Функция которая меняет местами два объекта графического контейнера в списке перерисовки объектов по заданному индексу.

Синтаксис:

exchangeobjects(indx1, indx2);

Аргументы:

indx1 – индекс объекта 1, целое число, начиная с единицы;

indx2 – индекс объекта 2, также целое число, начиная с единицы.

Описание:

exchangeobjects – функция, которая в списке перерисовки объектов ставит объект с индексом indx1 на место объекта с индексом indx2 и наоборот. Индекс начинается с единицы и список объектов перерисовки заканчивается объектом с индексом, равным количеству объектов M, которое можно узнать вызвав функцию getobjcount.

Результат:

Возвращаемого результата нет, объекты меняются местами.

Пример:

// сортировка
i = 1;
j = 0;
while (i <= m) do begin
id1 = getobj(i);
//проходим ТОЛЬКО по блокам, у которых tag = 5
if (getprop(id1,"tag") = 5) then begin    
if ((j > 0) and (j<>i)) then begin
myt1 = getprop(id1,"time1");
myt2 = getprop(id2,"time1");
if (myt1 < myt2) then begin
exchangeobjects(i,j); //меняем местами
id1 = id2; // это надо чтобы далее всё было гладко
end;
end;
j = i; //запоминаем текущий блок, его номер будет нужен на следующем витке while
id2 = id1; //тут будет id2 = id2 если поменяли местами блоки чуть выше
end;
i = i + 1;  
end;

В результате выполнения данного скрипта всем блокам субмодели, свойство tag которых выставлено пользователем в 1, будут присвоены значения свойств tbl_name и ob_name, взятые из аналогичных свойств субмодели (т.е. из блока более высокого уровня, чем уровень вложенности данных блоков).

Используемые функции