Яндекс.Метрика

Include -Autohotkey

Обозначает место, куда перед выполнением скрипта будет вставлено содержимое указанного файла.

Обозначает место, куда перед выполнением скрипта будет вставлено содержимое указанного файла.

#Include FileOrDirName #IncludeAgain FileOrDirName

Параметры

FileOrDirName Имя файла или каталога.

Файл: если полный путь не указан, предполагается, что файл находится в стартовом/рабочем каталоге (исключение: ahk2exe предполагает, что файл находится в одном каталоге со скриптом). Путь и имя файла не должны содержать ссылок на переменные (кроме %A_Scriptd class="ntd"ir%, %A_AppData% и %A_AppDataCommon%), двойных кавычек или шаблонов. Escape-последовательности, кроме случая точки с запятой (`;), не должны использоваться, но это и не нужно, поскольку такие символы как знак процента интерпретируются как литеральные. Замечание: SetWorkingDir не оказывает влияния на #Include, поскольку #Include обрабатывается до того как скрипт начнёт выполняться.

Каталог: укажите вместо файла, чтобы изменить рабочий каталог, который будет использоваться всеми последующими применениями #Include и FileInstall. Имя каталога не должно содержать переменных кроме %A_Scriptd class="ntd"ir%, %A_AppData% и %A_AppDataCommon%. Замечание: изменение рабочего каталога таким способом не влияет на исходный рабочий каталог скрипта (A_WorkingDir). Для его изменения используйте SetWorkingDir вверху скрипта.

Примечания

Скрипт ведёт себя так, как если бы всё содержимое вставляемого файла физически находилось на месте директивы #Include (как будто вы скопировали и вставили его из этого файла). Вследствие этого, таким способом обычно нельзя объединить два изолированных скрипта в один нормально функционирующий (как можно этого добиться, смотрите здесь: www.autohotkey.com/forum/topic18545.htmlphp).

#Include гарантирует, что указанный файл вставляется только один раз, даже если в скрипте встретится несколько директив с этим файлом. Напротив, #IncludeAgain допускает многократные вставки одного и того же файла; в остальном она не отличается от #Include.

Перед именем файла можно поставить *i и один пробел, что позволит программе игнорировать неудачи при загрузке вставляемого файла. Например:

#Include *i SpecialOptions.ahk.

Эта опция должна использоваться, только если содержимое файла не имеет существенного значения для основной функциональности скрипта.

Строки скрипта, показываемые в его главном окне по команде ListLines или при выборе пункта меню View->Lines, всегда нумеруются в порядке их физического расположения в их собственных файлах. Другими словами включение нового файла изменит нумерацию в главном файле только на одну строку, а именно ту, где стоит сама директива #Include (исключение составляют компилированные скрипты, поскольку у них вставляемые файлы объединяются в один большой скрипт перед компиляцией).

#Include часто используется для загрузки функций, определённых во внешнем файле. В отличие от меток подпрограмм, функции могут вставляться в самое начало скрипта, никак не влияя на работу его секции автовыполнения.

Как и другие директивы, #Include не может выполняться условно. Другими словами, этот пример работать не будет:

if x = 1 #Include SomeFile.ahk ; Эта строка будет выполнена независимо от значения х. y = 2 ; А эта строка принадлежит If выше, поскольку директивы ; не могут принадлежать If.

Файлы могут вставляться автоматически (т.е. без использования #Include), если имеет место вызов библиотечной функции по имени, как это описано в статье "Функции".

Примеры

#Include C:\My Documents\Scripts\Utility Subroutines.ahk #Include %A_Scriptd class="ntd"ir% ; Изменяет рабочий каталог для последующих ; применений #Include и FileInstall. #Include C:\My Scripts ; То же, что выше, но каталог указан явно.
Теги страницы: