Идентификаторы 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 }