Выполняет условное включение группы команд в код на этапе компиляции, если определена константа этапа компиляции.
#IFDEF | #IFNDEF ConstantName Commands [#ELSE Commands] #ENDIF |
Параметры
- #IFDEF
-
Указывает, что на этапе компиляции следует включить заданную группу команд, если была определена константа этапа компиляции с именем ConstantName.
Ниже описывается, каким образом группа команд включается в код на этапе компиляции при задании #IFDEF:
-
Если константа ConstantName определена, на этапе компиляции включается группа команд, следующая за #IFDEF и предшествующая директиве #ELSE или #ENDIF (той из них, которая встретится раньше).
-
Если константа ConstantName не определена и задана директива #ELSE, на этапе компиляции включается группа команд, следующая за #ELSE и предшествующая директиве #ENDIF.
-
Если константа ConstantName не определена и директива #ELSE не задана, ни одна из команд, находящихся внутри структуры #IFDEF ... #ENDIF, не включается на этапе компиляции.
-
- #IFNDEF
-
Указывает, что на этапе компиляции следует включить заданную группу команд, если константа этапа компиляции с именем ConstantName не определена.
Ниже описывается, каким образом группа команд включается в код на этапе компиляции при задании #IFNDEF:
-
Если константа ConstantName не определена, на этапе компиляции включается группа команд, следующих за #IFNDEF и предшествующих директиве #ELSE или #ENDIF (той из них, которая встретится раньше).
-
Если константа ConstantName определена и задана директива #ELSE, на этапе компиляции включается группа команд, следующих за #ELSE и предшествующих директиве #ENDIF.
-
Если константа ConstantName определена и директива #ELSE не задана, ни одна из команд, находящихся внутри структуры #IFDEF ... #ENDIF, не включается на этапе компиляции.
-
- ConstantName
-
Задает константу этапа компиляции, существование которой определяет необходимость включения группы команд на этапе компиляции. Константы этапа компиляции определяются с помощью директивы #DEFINE.
- Commands
-
Задают группу команд, включаемых на этапе компиляции.
Примечания
Структуру #IFDEF | #IFNDEF ... #ENDIF можно вкладывать в другую структуру #IFDEF | #IFNDEF ... #ENDIF.
Комментарии можно располагать в одной строке с директивами #IFDEF, #IFNDEF, #ELSE и #ENDIF. Комментарии игнорируются во время компиляции и выполнения программы.
Пример
В следующем примере создается константа этапа компиляции с именем MYDEFINE. Структура #IFDEF ... #ENDIF задает выдачу сообщения о том, была ли определена константа этапа компиляции.
![]() | |
---|---|
#DEFINE MYDEFINE 1 #IFDEF MYDEFINE WAIT WINDOW "MYDEFINE exists" #ELSE WAIT WINDOW "MYDEFINE does not exist" #ENDIF |