Документация по Clarion


IF (структура условного выполнения)


IF логическое выражение
[THEN]
satements
[ELSIF логическое выражение]
[THEN]
satements
[ELSE]
satements
.

логическое выражение Числовая или строковая переменная,
выражение или функция. ЛОГИЧЕСКОЕ ВЫРАЖЕНИЕ вычисляет условие. Передача управления определяется результатом (true или false) выражения. Нулевое (или пустое) значение считается ЛОЖЬЮ, любое другое значение - ИСТИНА.
THEN Операторы после THEN выполняются, если предыдущее ЛОГИЧЕСКОЕ ВЫРАЖЕНИЕ вычислено как ИСТИНА. THEN НАДО пропускать, если подлежащие выполнению операторы находятся на отдельной строке, а не той же, где и ЛОГИЧЕСКОЕ ВЫРАЖЕНИЕ.


statements Выполняемый оператор или последовательность выполняемых операторов.
ELSIF ЛОГИЧЕСКОЕ ВЫРАЖЕНИЕ, стоящее за ELSIF вычисляется только если все предыдущие IF и ELSIF были ЛОЖЬю.
ELSE Операторы, стоящие за ELSE выполняются, если все предыдущие IF и ELSIF дают ЛОЖЬ. ELSE НЕ требуется, но если используется, то должно быть последней опцией в операторе IF.

Структура IF управляет выполнением программы на основании выводов из одного или более ЛОГИЧЕСКИХ ВЫРАЖЕНИЙ. Структуры IF могут иметь любое количество групп операторов ELSIF-THEN. Структуры IF могут быть "вложены" в другие управляющие структуры, и другие управляющие структуры могут быть вложены в IF-структуры.
Пример:
IF Cus:TransCount !If new customer
AcctSetup ! call account setup procedure
ELSIF Cus:TransCount > 10 AND Cus:TransCount <100
!If regular customer
DO RegularAcct ! process the account
ELSIF Cus:TransCount>100 !If special customer
DO SpecialAcct ! process the account
ELSE !Otherwise
DO NewAcct ! process the account
IF Cus:Credit THEN CheckCredit ELSE CLEAR(Cus:CreditStat).
! verify credit status
. !End if
IF ERRORCODEO THEN ErrHandler(Cus:AcctNumber,Trn:InvoiceNbr).
!Handle errors



Содержание раздела