Синтаксис
| 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