exchangeobjects
Функция которая меняет местами два объекта графического контейнера в списке перерисовки объектов по заданному индексу.
Синтаксис
exchangeobjects(indx1, indx2);
Аргументы
| Имя | Тип данных | Описание |
|---|---|---|
| indx1 | integer |
Индекс объекта 1, целое число, начиная с единицы |
| indx2 | integer |
Индекс объекта 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, взятые из аналогичных свойств
субмодели (т.е. из блока более высокого уровня, чем уровень вложенности данных блоков).
Дополнительные материалы
Нет.