Одной из важных составляющих является возможность проводить операции над массивом элементов, выбирая каждый по очереди и применяя определенные команды.
Синтаксис:
Печать значений от 1 до 10
Другой пример:
А вот пример работы с базой:
Задача:
найти все элементы оборудования (тип EQUI) внутри текущего элемента и вывести в командную строчку информацию вида "имя:описание"
Решение:
необходимо использовать синтаксис обращения к базе для запроса элементов, далее в запустить цикл по полученном массиву, запросить необходимые атрибуты и вывести на экран
Синтаксис:
do !x from ИНДЕКС_СТАРТА to КОНЕЧНАЯ_ТОЧКАПример:
--действия, которые выполняются с элементами относительно индекса !x
enddo
Печать значений от 1 до 10
do !x from 1 to 10В результате в командную строчку будут выведены значения переменной !x, являющейся индексом. Стандартное приращение индекса = 1. Соответственно выводимые значения будут начиная с единицы как стартовая точка, с шагом 1, и до десяти.. (1,2,3,4,5,6,7,8,9,10)
$P $!x
enddo
Другой пример:
do !x from 1 to 10 by 0.5В результате в командную строчку будут выведены значения переменной !x, являющейся индексом. В данном случае приращение указано специально и составляет 0.5. Соответственно выводимые значения будут начинаться с единицы как стартовая точка, с шагом 0.5, и до десяти. (1,1.5,2,2.5,3,3.5,4,4.5,5,5.5,6,6.5,7,7.5,8,8.5,9,9.5,10)
$P $!x
enddo
А вот пример работы с базой:
Задача:
найти все элементы оборудования (тип EQUI) внутри текущего элемента и вывести в командную строчку информацию вида "имя:описание"
Решение:
необходимо использовать синтаксис обращения к базе для запроса элементов, далее в запустить цикл по полученном массиву, запросить необходимые атрибуты и вывести на экран
$( находим все элементы типа EQUI внутри текущего элемента и записываем в массив !equiRefs их референтные номера $)
VAR !equiRefs COLLECT ALL EQUI FOR CE
$( запускаем цикл по элементам найденного массива, используя в качестве конечной точки размер массива (то есть общее количество найденных элементов). Размер массива определяется методом .Size()
$)
do !x from 1 to !equiRefs.Size()
$( вводим переменную, котрая будет отвечать за необходимые значения вывода
в эту переменную будут попадать значения атрибутов элемента из массива
учитывая то, что в массиве хранятся референтные номера в виде строкового значения, а для обращения к атрибуту нам нужен объект базы, то с помощью метода .Dbref() мы переводим строку в объект и запрашиваем необходимые атрибуты
$)
!output = !equiRefs[!x].Dbref().Name + ':' + !equiRefs[!x].Dbref().Desc
$( выводим значения переменной !output (эти значения будут всегда новые в данном случае по мере изменения индекса !x и соответственно обращения к следующему элементу массива)
$)
$P $!output
enddo
0 коммент.:
Отправить комментарий