Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на Pascal / Delphi / Руководство по Borland Pascal.doc
Скачиваний:
40
Добавлен:
02.05.2014
Размер:
2.05 Mб
Скачать

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

Директивы ifdef и ifndef

Директивы IFDEF и IFNDEF позволяют вам условно компилировать

код на основе определения или неопределения некоторых идентифика-

торов.

Директивы IFDEF и IFNDEF обычно используются для включения в

компилируемый код отладочной информации. Например, если вы помес-

тите в начало каждого модуля следующий код:

{$IFDEF debug}

{$D+,L+}

{$ELSE}

{$D-,L-}

{$ENDIF}

а в начало программы следующую директиву:

{$DEFINE debug}

и компилируете свою программу, для использования с Турбо отлад-

чиком генерируется полная отладочная информация. Аналогично, вы

можете иметь фрагменты кода, компилируемые только при отладке. В

этом случае можно записать:

{$IFDEF debug}

исходный код

{$ENDIF}

где "исходный код" компилируется только в том случае, если в дан-

ной точке определен идентификатор debug.

Соседние файлы в папке Delphi