Ключевое слово #include

 ↑  ←  Описание ключевого слова


#include

Включает файл в текущий скрипт.

#include "[путь\]имя файла"
#include <имя файла>

Параметры

имя файла Имя файла для включения в скрипт. Путь необязателен. Это должна быть строка - не переменная!
Если используется "...", путь к файлу вычисляется относительно текущего скрипта.
Если используется <...>, путь к файлу вычисляется относительно каталога библиотек для включения (обычно C:\Program Files\AutoIt3\Include). Эти библиотеки содержат огромнейшее число пользовательских функций для использования!

Примечания

Другие скрипты могут быть включены в текущий скрипт при использовании директивы #include.

Если в файле есть пользовательская функция и он включён более одного раза, то возникает ошибка "Duplicate function" (Дубликат функции). При написании скрипта в виде include-файла, который используется с помощью директивы #include, добавьте в начало этого скрипта #include-once, чтобы избежать включения этого файла более одного раза.

Существует специальное значение в реестре "HKEY_CURRENT_USER\Software\AutoIt v3\AutoIt" (ключ называется "Include"). Его тип - REG_SZ (строка). Содержание ключа - разделённый символами ; список каталогов, в которых будет произведён поиск файлов для #include (в дополнение к стандартным местам поиска).

Порядок поиска, используемый AutoIt, зависит от используемой формы #include. Таблица ниже показывает порядок поиска каталогов при использовании обеих форм.

Использование #include <>
Стандартные библиотеки (Standard library) Путь к каталогу текущего запущенного интерпретатора с добавленным "\Include" в конце.
Определённые пользователем библиотеки (User-defined libraries) Считывается ключ реестра указанный выше и все перечисленные в нём каталоге проверяются (в том порядке, в котором они указаны в ключе).
Каталог скрипта (Script directory) Каталог, в котором содержится выполняемый скрипт.

Использование #include "" (Порядок поиска противоположен, в сравнении с #include <>).
Каталог скрипта (Script directory) Каталог, в котором содержится выполняемый скрипт.
Определённые пользователем библиотеки (User-defined libraries) Считывается ключ реестра указанный выше и все перечисленные в нём каталоге проверяются (в том порядке, в котором они указаны в ключе).
Стандартные библиотеки (Standard library) Путь к каталогу текущего запущенного интерпретатора с добавленным "\Include" в конце.

Примечание при использовании параметра командной строки /AutoIt3ExecuteScript. Поскольку поиск стандартных библиотек производится в каталоге текущего интерпретатора, функции из этих библиотек не будут найдены; эти библиотеки будут найдены только, если скрипт выполняется через AutoIt3.exe. Рекомендуется компилировать скрипты в формат .a3x, если необходимо запускать их с помощью /AutoIt3ExecuteScript.

Aut2Exe использует тот же алгоритм поиска, что и AutoIt3.exe с той лишь разницей, что поиск стандартных библиотек производится в подкаталоге "Include" родительского каталога (..\Include).

При использовании Opt("TrayIconDebug", 1) только 64 имени включаемых файлов могут быть отображены в всплывающем уведомлении. Остальные имена не будут показаны.

См. также

#include-once

Пример

; Создайте файл Script.au3 с таким содержанием:
; ==> начало файла Script.au3
#include "Time.au3"
MsgBox(4096, "", "Пример")
#include "Time.au3"
; ==> конец файла Script.au3
Exit
; ================================================
; Создайте файл Time.au3 с таким содержанием:
; ==> начало файла Time.au3
MsgBox(4096, "", "Сейчас: " & @HOUR & ":" & @MIN & ":" & @SEC)
; ==> конец файла Time.au3
; И положите его в папку "AutoIt3\Include" или в каталог скрипта
; ================================================
; Запустите Script.au3 и увидите 3 диалоговых окна сообщения
; один с текущим временем, один с текстом 'Пример', и последний с текущим временем.
; Содержимое файла Time.au3 просто будет вставлено в файл Script.au3 в указанную позицию