Синтаксис
ifdef-directive: |
ifdef <ident> |
ifndef-directive: |
ifndef <ident> |
ifexist-directive: |
ifexist <expr> |
ifnexist-directive: |
ifnexist <expr> |
Описание
Директивы ifdef,
ifndef, ifexist
и ifnexist можно
использовать там, где необходимо применить директиву if, чтобы обеспечить выполнение участка
кода только при соблюдении определённых условий. Состояние директивы ifdef является
истинным, если указанный идентификатор был определён (найден), и
наоборот – ложным, если идентификатор не определён или был удалён
директивой undef.
Все эти директивы позволяют только проверить наличие или отсутствие
идентификаторов, установленных директивой define.
Директивы ifexist
и ifnexist
позволяют проверить наличие или отсутствие указанного
файла, соответственно.
По аналогии с директивой if,
каждый блок команд, начинающийся директивой ifdef,
ifndef, ifexist
или ifnexist,
должен обязательно закрываться директивой endif.
Примеры
[Files]
// Проверяем наличие файла "myfile.ext".
// Если файл существует, то выполняем команды, определенные условием.
// Если файл НЕ существует, то управление передается директиве endif.
#ifexist "myfile.ext"
Filename: "myfile.ext"; DestDir: {app}
// Конец условия ifexist.
#endif
// Проверяем наличие переменной "Enterpise".
// Если переменная существует, то выполняем команды, определенные условием.
// Если переменная НЕ существует, то управление передается директиве endif.
#ifdef Enterpise
Filename: "extra.dll"; DestDir: {app}
// Конец условия ifdef.
#endif
См. также:
FileExists