Borland Pascal. Руководство пользователя
6cac1dc9

Идентификаторы IFxxx, ELSE и ENDIF


Смысл условных директив в том, что если определен или нет конкретный идентификатор либо если установлен или нет конкретный параметр, вы можете выбирать для компиляции некоторые части ис- ходного кода. Они имеют следующий общий формат, где IFxxx - это директивы IFDEF, INDEF или IFOPT, за которыми следует соответс- твующий аргумент, а "исходный код" - любое количество исходного кода Паскаля.

{$IFxxx} исходный код {$ENDIF}

Если выражение в директиве IFxxx принимает значение True, то "исходный код" компилируется; в противном случае он игнорируется и интерпретируется как обычный комментарий в программе.

Часто у вас имеются альтернативные фрагменты кода. Если вы- ражение принимает значение True, то компилируется один фрагмент кода, а если False - другой. Компилятор позволяет сделать это с помощью директивы $ELSE:

{$IFxxx} исходный код A {$ELSE} исходный код B {$ENDIF}

Если выражение в IFxxx равно True, то компилируется "исход- ный код A", в противном случае компилируется "исходный код B".

Все директивы IFxxx должны завершаться с одном исходном фай- ле. Это означает, что они не могут начинаться в одном исходном файле и заканчиваться в другом. Однако, в директиве IFxxx может указываться включаемый файл:

{$IFxxx} {$I file1.pas} {$ELSE} {$I file2.pas} {$ENDIF}

Таким образом, на основе некоторого условия вы можете выби- рать альтернативные включаемые файлы

Допускается использовать вложенные конструкции IFxxx..ENDIF, так что вы можете записать, например, следующее:

{$IFxxx} { первая директива IF } . . . {$IFxxx} { первая директива IF } . . .

{$ENDIF} { завершает вторую директиву IF } . . . {$ENDIF} { завершает первую директиву IF }



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