#Include / #IncludeAgain

Veranlasst das Skript, sich so zu verhalten, als wäre der Inhalt einer bestimmten Datei an genau dieser Stelle vorhanden.

#Include DateiOderVerzName
#Include <BiblName>
#IncludeAgain DateiOderVerzName

Parameter

DateiOderVerzName

Typ: Zeichenkette

Der Pfad einer Datei oder eines Verzeichnisses, wie unten beschrieben. Der Dateiname darf keine doppelten Anführungszeichen (außer einem optionalen Paar doppelter Anführungszeichen, das den Parameter umschließt), Platzhalterzeichen oder Escapesequenzen außer Semikolon (`;) enthalten.

Interne Variablen können verwendet werden, müssen aber in Prozentzeichen gesetzt werden, z.B. #Include "%A_ScriptDir%". Prozentzeichen, die nicht zu einer gültigen Variablenreferenz gehören, werden als direkt geschriebener Text interpretiert. Alle internen Variablen sind gültig, außer A_Args und interne Klassen.

Bekannte Einschränkung: Beim Kompilieren eines Skripts werden Variablen vom Compiler ausgewertet, d.h. sie können von dem abweichen, was das Skript bei der endgültigen Ausführung zurückgeben würde. Folgende Variablen werden unterstützt: A_AhkPath, A_AppData, A_AppDataCommon, A_ComputerName, A_ComSpec, A_Desktop, A_DesktopCommon, A_IsCompiled, A_LineFile, A_MyDocuments, A_ProgramFiles, A_Programs, A_ProgramsCommon, A_ScriptDir, A_ScriptFullPath, A_ScriptName, A_Space, A_StartMenu, A_StartMenuCommon, A_Startup, A_StartupCommon, A_Tab, A_Temp, A_UserName, A_WinDir.

Datei: Name der zu inkludierenden Datei. Standardmäßig sind relative Pfade relativ zum Verzeichnis der Datei, die die #Include-Direktive enthält. Dieses Standardverhalten kann mit #Include Verz wie unten beschrieben überschrieben werden. Hinweis: SetWorkingDir hat keinen Einfluss auf #Include, da #Include vor Beginn der Skriptausführung ausgewertet wird.

Verzeichnis: Geben Sie ein Verzeichnis anstelle einer Datei an, um das Arbeitsverzeichnis für alle nachfolgenden Instanzen von #Include und FileInstall in der aktuellen Datei zu ändern. Hinweis: Das Ändern des Arbeitsverzeichnisses auf diese Weise hat keinen Einfluss auf das anfängliche Arbeitsverzeichnis des Skripts (A_WorkingDir). Um das zu ändern, verwenden Sie SetWorkingDir ganz oben im Skript.

Hinweis: Dieser Parameter ist kein Ausdruck, kann aber in Anführungszeichen gesetzt werden (entweder 'einfach' oder "doppelt").

<BiblName>

Typ: Zeichenkette

Der Name einer Bibliotheksdatei oder -funktion. Zum Beispiel würden sowohl #Include <Bibl> als auch #Include <Bibl_Funktion> Bibl.ahk aus einem der Lib-Ordner inkludieren. Variablenreferenzen sind nicht erlaubt.

Bemerkungen

Ein Skript verhält sich so, als wäre der Inhalt der zu inkludierenden Datei physisch exakt an der Position der #Include-Direktive vorhanden (als wäre der Inhalt der Datei sozusagen vorher kopiert und dann dort eingefügt wurden). Diese Direktive ist daher nicht in der Lage, zwei einzelne Skripte zu einem funktionierenden Skript zusammenzufügen.

#Include stellt sicher, dass die angegebene Datei nur einmal inkludiert wird, falls sie mehrmals im Skript zum Inkludieren angegeben ist. Mit #IncludeAgain kann hingegen eine Datei mehrmals inkludiert werden, andernfalls verhält es sich wie #Include.

Dem Dateipfad kann *i gefolgt von einem Leerzeichen vorangestellt werden, was das Programm veranlasst, jegliche Fehler beim Lesen der Datei zu ignorieren. Zum Beispiel: #Include "*i Spezialoptionen.ahk". Diese Option sollte nur verwendet werden, wenn der Inhalt der Datei für die Ausführung des Hauptskripts nicht relevant ist.

Zeilen, die im Hauptfenster via ListLines oder Menüpunkt "View->Lines" angezeigt werden, sind immer gemäß ihrer physischen Reihenfolge innerhalb ihrer eigenen Dateien nummeriert. Mit anderen Worten: Beim Inkludieren einer neuen Datei erhöht sich die Zeilennummerierung des Hauptskripts nur um eine Zeile, nämlich die der #Include-Zeile selbst (außer bei kompilierten Skripten, bei denen das Hauptskript und die zu inkludierenden Dateien zu einem großen Skript zusammengefügt sind).

#Include wird oft verwendet, um Funktionen zu laden, die in einer externen Datei definiert sind.

#Include kann wie alle anderen Direktiven nicht bedingt ausgeführt werden. Das folgende Beispiel würde also nicht wie erwartet funktionieren:

if (x = 1)
    #Include "BeliebigeDatei.ahk"  ; Diese Zeile wird ohne Beachtung des X-Wertes ausgeführt.

Skriptbibliotheksordner, Funktionen, FileInstall

Beispiele

Inkludiert den Inhalt der angegebenen Datei in das aktuelle Skript.

#Include "C:\Meine Dokumente\Skripte\Hilfsprogramm-Subroutinen.ahk"

Ändert das Arbeitsverzeichnis für nachfolgende #Includes und FileInstalls.

#Include "%A_ScriptDir%"

Dasselbe wie oben, aber für ein explizit benanntes Verzeichnis.

#Include "C:\Meine Skripte"