| include-directive: | (include | +) < <filename> > |
| (include | +) <expr> |
Выполняет подключение к данным вывода препроцессора указанного файла. Если используется файл Unicode, то он обязательно должен быть в кодировке UTF-8 (с или без маркера BOM).
Если имя файла заключено в угловые скобки, то ISPP выполняет его поиск в текущем каталоге включаемых файлов (задаваемом с помощью директивы pragma), а затем по пути, указанному в переменной окружения INCLUDE. По умолчанию в качестве текущего каталога используется каталог компилятора.
Если имя файла представляет собой выражение (например, заключено в кавычки), ISPP сначала ищет его в каталоге, где находится текущий файл, затем в каталоге, где расположен файл, включивший в себя текущий файл, и так далее. Наконец поиск продолжается в каталоге, заданном в переменной SourcePath. Если файл не найден, ISPP выполняет поиск по тем же двум путям, что и в случае использования угловых скобок, и в последнюю очередь — в каталоге компилятора.
Если имя файла начинается с .\ или ..\, путь является относительным по отношению к каталогу, в котором находится текущий файл. Если имя начинается с compiler:, путь является относительным по отношению к каталогу компилятора. Если же начинается с userdocs:, путь является относительным по отношению к папке "Мои документы" текущего пользователя. В таких случаях ISPP не выполняет поиск в других каталогах.
Директиву include нельзя использовать встроенным методом.
// Подключаем к сценарию дополнительный файл file.iss #include <file.iss> // Подключаем файл file.iss, который находится в каталоге с:\dir #include "c:\dir\file.iss" // Подключаем файл common.iss, путь к которому определяем // через встроенную переменную CompilerPath. // К полученной строке пути при помощи функции // AddBackslash добавляем обратную косую черту // для формирования завершенной строки к папке. #include AddBackslash(CompilerPath) + "common.iss"