Global, Local und Dim deklarieren Variablen und erzeugen Arrays. In AutoIt ist es zwar wie in vielen Skriptsprachen nicht nötig Variablen explizit zu deklarieren, allerdings wird es von vielen Programmieren bevorzugt.
Die Unterschiede zwischen den drei Möglichkeiten:
Dim: Die Variable wird im lokalen* Gültigkeitsbereich deklariert, falls sie nicht schon im globalen** existiert. Im zweiten Fall wird die globale Variable wiederbenutzt.
Local: Erzwingt, dass die Variable nur einen lokalen Gültigkeitsbereich besitzt.
Global: Erzingt einen globalen Gültigkeitsbereich für die Variable.
Const: deklariert Konstanten, d.h. wenn einmal ein Wert zugewiesen wurde, so kann dieser nicht mehr verändert werden. Man kann auch keine Variable in eine Konstante umwandeln. Konstanten müssen gleich bei der dekleration initialisier werden. Das bedeutet ihnen muss schon beim erzeugen ein Wert zugewiesen werden.
Anm: Es sollten Global bzw. Local anstelle von Dim benutzt werden, um den erwünschten Gültigkeitsbereich sicherzustellen. AutoIt prüft zuerst den lokalen, dann den globalen Gültigkeitsbereich.
Beispiele aus der Hilfe (z. T. abgewandelt)
;Deklarieren von Variablen
Dim $a, $b, $c
Local $a, $b, $c
Global $a, $b, $c
;Initialisieren
Dim $a = 2, $b = 10, $c = 20
Global $a = 2, $b = 10, $c = 20
Local $a = 2, $b = 10, $c = 20
$a = 2
$b = 10
$c = 20
;Deklarieren von Konstanten
Const $a = 2, $b = 10, $c = 20
Dim Const $d = 21, $e = Exp(1)
Local Const $f = 5, $g = 7, $h = -2
Global Const $i = 1924, $j = "...", $k = "xyz"
;Arrays deklarieren...
Dim $Array1[4]
Local $Array2[6]
Global $Array3[34][10]
;... und initialisieren
Dim $Array1[4] = [1, 2, 3, 15, 1.2]
Local $Array2[10] = [12.32, 32, 12, "Hallo", StringSplit("Robert|Josef|Benedikt|Marta", "|"), "Käse"]
Global $Array3[2][4] = [["Paul", "Jim", "Richard", "Louis"], [485.44, 160.68, 275.16, 320.00]]
Das dürfte das wichtigste sein.
*Innerhalb einer Funktion **im ganzen Skript