Осуществляет условное выполнение группы команд исходя из значения логического выражения.

IF lExpression [THEN]
      Commands
[ELSE
      Commands]
ENDIF

Параметры

lExpression

Задает вычисляемое логическое выражение. Если результат вычисления lExpression "истина" (.T.), будут выполнены все команды, расположенные между IF или THEN и оператором ELSE или ENDIF (тем из двух, который стоит раньше).

  • Если значение lExpression - "ложь" (.F.) и задан оператор ELSE, , выполняются все команды между ELSE и ENDIF.

  • Если значение lExpression - "ложь" (.F.) и оператор ELSE не задан, все команды между IF и ENDIF игнорируются. В этом случае выполнение программы продолжается с первой команды, следующей за оператором ENDIF.

Expand imageЗамечания

Блоки IF ... ENDIF можно вкладывать друг в друга.

Вы можете вкладывать блок IF ... ENDIF в другой блок IF ... ENDIF.

В строках с операторами IF, THEN, ELSE, и ENDIF можно задавать комментарии. Они будут игнорироваться во время компиляции и выполнения программы..

Expand imageПример

  CopyCode imageCopy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE Customer     && Open customer table

GETEXPR 'Enter condition to locate ' TO gcTemp;
   TYPE 'L' DEFAULT 'COMPANY = ""'
LOCATE FOR &gcTemp  && Enter LOCATE expression
IF FOUND( )  && Was it found?
   DISPLAY  && If so, display the record
ELSE  && If not found
   ? 'Condition ' + gcTemp + ' was not found '   && Display a message
ENDIF
USE

Expand imageСмотрите также