Anmerkungen zu User Defined Function

Wir haben einige Dateien aufgenommen, die jeweils maßgebende Funktionen enthalten, sogenannte User Defined Functions.
UDF's sind Funktionen/Scriptlets, die in AutoIt3 geschrieben sind und mit #include in eigene Skripte eingebunden und benutzt werden können, ohne dass sie selbst geschrieben oder jedes mal kopiert und eingefügt werden müssen, wenn sie gebracuht werden.
User Defined Functions ist englisch und bedeuted benutzerdefinierte Funktionen

Beispiel:

#include <date.au3>
MsgBox(0,"Heute","Das heutige Datum lautet " & _Now())

Diese Skript zeigt das aktuelle Datum im Datumsformat ihres PC an, z.B. "03.05.2007 17:23:45"

 

Viele UDF's besitzen optionale Parameter, die weggelassen werden können.  Falls sie einen optionalen Parameter angeben wollwn, müssen jedoch alle vorhergehenden Parameter mit angegeben werden.
Schauen sie sich als Beipiel dazu folgende Funktion an: _ArraySort ( ByRef $a_Array [, $i_Descending [, $i_Base=0 [, $i_Ubound=0 [, $i_Dim=1 [, $i_SortIndex=0 ]]]]] )
Wenn einem Parameter Byref vorausgeht, bedeuted das, dass die Funktion die übergebene Variable mit einem neuen Wert aktualisieren wird. Diese Parameter müssen eine Variable ($xyz) und keine Konstante sein.

Die meisten UDF's geben Erfolg/Fehler als Rückgabewert an; andere Funktionen setzen dafür das @error Flag.  manche tun auch beides....
@error = 0 ;bedeuted immer Erfolg
Return = variiert, ist aber normalerweise nicht-Null für Erfolg, um einfach zu lesenden Code zu ermöglichen...

Falls eine Funktion das @error-Flag setzt, sollte es immer vor dem Rückgabewert geprüft werden - falls @error einen Fehler anzeigt, ist der Rückgabewert im allgemeinen undefiniert...