Чтобы облегчить ваши задачи, Borland Pascal предлагает
средство условной компиляции. Это означает, что можете компили-
ровать части своей программы на основе параметров или определен-
ных идентификаторов.
Условные директивы аналогичны по формату директивам компиля-
тора, с которыми вы уже познакомились. Они имеют следующий фор-
мат:
{$директива аргумент}
где "директива" - это такая директива как DEFINE, IFDEF и т.д., а
аргумент - необязательный аргумент. Между ними обязательно должен
присутствовать разделитель (пробел или табуляция). Все условные
директивы и их смысл приведены в Таблице 4.3.
Примечание: Полное описание директив условной компиля-
ции можно найти в Главе 2 ("Директивы компилятора") "Спра-
вочного руководства программиста".
Директива условной компиляции Таблица 4.3
┌──────────────────────────────┬────────────────────────────────┐
│ Директива │ Описание │
├──────────────────────────────┼────────────────────────────────┤
│ {$DEFINE идентификатор} │ Определяет "идентификатор" для │
│ │ других директив. │
├──────────────────────────────┼────────────────────────────────┤
│ {$UNDEF идентификатор} │ Отменяет определение "иденти- │
│ │ фикатора". │
├──────────────────────────────┼────────────────────────────────┤
│ {$IFDEF идентификатор} │ Компилирует следующий код, ес- │
│ │ ли определен "идентификатор". │
├──────────────────────────────┼────────────────────────────────┤
│ {$IFNDEF идентификатор} │ Компилирует следующий код, ес- │
│ │ ли "идентификатор" не опреде- │
│ │ лен. │
├──────────────────────────────┼────────────────────────────────┤
│ {$IFOPT x+} │ Компилирует следующий код, ес- │
│ │ ли разрешена директива x. │
├──────────────────────────────┼────────────────────────────────┤
│ {$IFOPT x-} │ Компилирует следующий код, ес- │
│ │ ли запрещена директива x. │
├──────────────────────────────┼────────────────────────────────┤
│ {ELSE} │ Компилирует следующий код, ес- │
│ │ ли предыдущее выражение IFxxx │
│ │ не равно True. │
├──────────────────────────────┼────────────────────────────────┤
│ {$ENDIF} │ Отмечает конец блока IFxxx или │
│ │ ELSE. │
└──────────────────────────────┴────────────────────────────────┘