Управляющие конструкции Обычно команды выполняются
в том порядке, в котором они расположены. Для изменения порядка выполнения
команд в зависимости от условий вводятся управляющие конструкции.
IF .. ENDIF IF условие операторы [ELSE операторы] ENDIF Условие - логическое выражение, если его значение истинно, то выполняется последовательность операторов после IF, если ложно - то выполняются операторы после ELSE. IIF - Immediate If - "немедленный" If: Функция, которая принимает одно из двух значений в зависимости от проверки условия. IIF (условие, значение
для True, значение для False)
DO CASE ... ENDCASE DO CASE CASE условие1 операторы1 CASE условие2 операторы2 . . . CASE условиеN операторыN [OTHERWISE операторы] ENDCASE Последовательно проверяются условия после ключевого слова CASE. Если условие истинно, то выполняются следующие за ним операторы. На истинность проверяется только одно истинное условие, если оно найдено, то управление передается ENDCASE. Остальные условия игнорируются. Если ни одно условие не истинно, то выполняются операторы после необязательного слова OTHERWISE. FOR .. ENDFOR FOR счетчик FROM начальное_значение TO конечное значение [STEP шаг] операторы ENDFOR Счетчик - переменная, значение которой изменяется от начального до конечного значения с заданным шагом. Цикл повторяется столько раз, сколько значений принимает счетчик(при условии, что значение счетчика не меняется в цикле - в этом случае цикл может быть и бесконечным). Шаг может быть положительным и отрицательным (в этом случае начальное значение должно превышать конечное). Цикл может быть невыполнимым, например, если при положительном шаге начальное значение превышает конечное. WHILE DO WHILE условие операторы [EXIT] LOOP ENDDO Операторы выполняются пока условие истинно или выполняемый цикл не прерывается по EXIT. SCAN SCAN переменная [FOR логич_выражение1] [WHILE логич_выражение2] операторы LOOP EXIT ENDSCAN Конструкция SCAN предназначена для работы с записями таблицы. Этот цикл просматривает текущую таблицу запись за записью и для каждой найденной записи, удовлетворяющей условию после FOR, выполняются операторы. Цикл выполняется с первой по последнюю запись. Для индексированных таблиц сканирование осуществляется в порядке, установленном активным индексом табдицы. Если в теле цикла изменяется значение поля, являющегося индексным, то запись перемещается на положение в таблице, определяемое заданным упорядочением. Таким образом некоторые записи могут быть просмотрены несколько раз, а некоторые пропущены. |