Funktionshinweise
Funktionen in AutoIt sind Objekte erster Klasse. Das bedeutet unter anderem, dass Sie eine Funktion einer Variablen zuweisen, sie als Argument weitergeben oder von einer anderen Funktion zurückkehren können.
Abgesehen von bestimmten, den Funktionsumfang betreffenden Deklarationsregeln (nämlich dass die Namen der eingebauten Funktionen reserviert sind und die von UDFs nur lokal überschrieben werden können), haben die Namen von Funktionen keinen besonderen Status in der Sprache.
@@SyntaxHighlighting@@
#include
Local $vFunc = MsgBox
$vFunc($MB_OK, "Hallo zusammen!", "Schöner Tag heute.")
@@End@@
@@SyntaxHighlighting@@
Call(_Test)
Func _Test()
ConsoleWrite("! Testing" & @CRLF)
EndFunc
@@End@@
Optionale Parameter
Viele Funktionen enthalten optionale Parameter, die weggelassen werden können. Wenn Sie jedoch einen optionalen Parameter angeben wollen, müssen alle vorangehenden Parameter angegeben werden!br />
Ein Beispiel: Run ("Dateiname", ["Arbeitsverzeichnis" [, Flag]] ). Wenn Sie das Flag angeben wollen, müssen Sie ein Arbeitsverzeichnis angeben.
Wenn ein optionaler Parameter definiert werden muss und ihm ein oder mehrere optionale Parameter vorangestellt sind, muss der Standardwert für diesen Parameter angegeben werden. Im Allgemeinen sollten Funktionen das Schlüsselwort Default akzeptieren, wenn Sie den Standardparameter verwenden möchten. Siehe die entsprechende Beschreibung der optionalen Parameter für weitere Details.
Viele Win___-Funktionen enthalten einen optionalen Parameter "text". Dieser Parameter soll helfen, zwischen Fenstern mit identischen Titeln zu unterscheiden.
Erfolgs-/Misserfolgsanzeige von internen AutoIt-Funktionen
Einige Funktionen verwenden den Rückgabewert zur Anzeige von Erfolg/Fehlschlag, andere setzen das @error-Flag. Einige tun beides....
Wenn die Rückgabewert-Methode verwendet wird, gibt die Hilfedatei den erwarteten Wert für Erfolg/Misserfolg an - aber der Erfolgswert ist typischerweise ungleich Null, damit der Code leicht zu lesen ist...
@@SyntaxHighlighting@@
If SomeUserFunc() Then ;... Die Funktion wurde erfolgreich beendet.
If Not SomeUserFunc() Then ;... Die Funktion wurde mit einem Fehler beendet.
@@End@@
Wenn die Dokumentation angibt, dass der Rückgabewert = none ist, gibt AutoIt immer einen Wert zurück, um Fehler zu vermeiden. Normalerweise wird der Wert 1 zurückgegeben, aber Sie sollten sich nicht auf diesen Rückgabewert verlassen.
Wenn die @error-Flag-Methode verwendet wird, bedeutet @error = 0 immer einen Erfolg. Andere @error-Werte weisen auf ein Problem hin und sind in der Hilfedatei für die Funktion definiert.
@@SyntaxHighlighting@@
Local $sFileRead = FileReadLine("C:\someFile.txt")
If @error = -1 Then ; Ende-der-Datei wurde erreicht.
@@End@@
Wenn eine Funktion die @error-Flag-Methode verwendet, sollte die Flagge sofort nach der Rückkehr der Funktion überprüft werden, da @error bei der Eingabe der nächsten Funktion auf 0 zurückgesetzt wird. Es sollte nicht versucht werden, den Rückgabewert der Funktion zu verwenden oder darauf zuzugreifen, wenn das @error-Flag gesetzt wurde, da der Rückgabewert in diesem Fall im Allgemeinen undefiniert ist...
Erfolgs-/Misserfolgsanzeige von benutzergeschriebenen Funktionen
Die Makros für den Rückgabewert, @error und @extended werden normalerweise vom Autor mit den Funktionen Return/SetError/SetExtended innerhalb des Codes gesetzt. Welche Werte verwendet werden, entnehmen Sie bitte der Dokumentation der jeweiligen benutzerdefinierten Bibliothek.