Hinweise zu Funktionen

Viele Funktionen haben optionale Parameter, die beim Funktionsaufruf nicht angegeben werden müssen. Wenn man einen optionalen Parameter verwenden möchte, muss jeder vorangehende Parameter angegeben sein. Man kann also nur den vorletzten Parameter weglassen, wenn der letzte auch weggelassen wird usw.

Betrachen wir z.B. die Run-Funktion:
Run ( "filename" [, "workingdir" [, flag]] ).
Wenn man den flag-Parameter angeben möchte, dann muss auch workingdir angegeben werden.

Viele Win___ Funktionen haben einen optionalen Parameter Namens text. Dieser Parameter soll helfen, zwischen verschiedenen Fenstern mit gleichem Fenstertitel zu differenzieren.


Manche Funktionen geben den Erfolg oder Misserfolg ihrer Ausführung als Rückgabewert an, andere setzen das @error-Flag. Manche tun auch beides...
@error = 0 ;bedeutet stets Erfolg
Return = variiert, aber es ist typischerweise nicht-Null, wennn die Ausführung erfolgreich war, damit es einfach zu handhaben ist.

If someUserFunc() Then ;...Funktion hatte Erfolg
If Not someUserFunc() Then ;...Funktion hatte keinen Erfolg

$x = FileReadLine("C:\Datei.txt")
If @error = -1 Then ;Dateiende (eof) wurde erreicht

Wenn eine Funktion das @error-Flag setzen kann, dann sollte man es immer überprüfen, bevor man einen Rückgabewert benutzt. Wenn @error nämlich einen Fehler anzeigt, dann ist der Rückgabewert generell undefiniert...

@error wird immer auf 0 gesetzt, wenn eine Funktion aufgerufen wird.

Wenn die Dokumentation einer Funktion besagt, dass es keinen Rückgabewert gibt, dann gibt AutoIt trotzdem immer einen Wert zurück, um Fehler zu vermeiden. Normalerweise ist dies "1", allerdings sollte man sich darauf nicht unbedingt verlassen.

Wenn ein optionaler Parameter definiert werden muss, und dieser ist anderen optionalen Parametern vorangestellt, dann muss diesem ein Standardwert zugewiesen werden. Dazu verwendet man das Schlüsselwort Default. Sollte das zu Problemen führen, hilft möglicherweise die Angabe von "" bei Zeichenketten und -1 bei Zahlen. Manche Funktionen wie StringInStr oder StringReplace benötigen 0. Zusätzlich können einzelne Funktionen andere Regelungen haben, welche in der jeweilige Hilfe zu den optionalen Parametern einer Funktion erklärt sind.