Déclare une variable, une constante ou crée un tableau.
Global | Local [Const] $variable [ = initializer ]
Global | Local [Const] $aArray[subscript 1]...[subscript n] [ = initializer ]
Const | [optionnel] Si présent, le mot-clé Const crée une constante plutôt qu'une variable. |
$variable | Le nom de la variable/constante à déclarer. |
initializer | La valeur qui sera initialement assignée à la variable. Une Const doit inclure l'initialisation. L'initialisation peut être un appel à une fonction. |
subscript | Le nombre d'éléments à créer pour la dimension du tableau, indexé de 0 à n-1. |
Les mots-clés Dim/Local/Global effectuent des opérations similaires :
1. Déclare une variable avant de l'utiliser (semblable à VBScript)
2. Crée un tableau
Note: Dans AutoIt, vous pouvez créer une variable simplement en lui assignant une valeur ($myvar = 0) mais beaucoup de personnes aiment les déclarer explicitement. Si AutoItSetOption("MustDeclareVars", 1) est actif, alors les variables doivent être déclarées avant d'être utilisées.
Vous pouvez aussi déclarer de multiples variables sur une même ligne:
Local $vVar_1, $vVar_2, $vVar_3
Local $vVar_1 = 10, $vVar_2 = "20", $vVar_3 = 30
Const $CONST_1 = 1, $CONST_2 = 2, $CONST_3 = 3
Global Const $PI = 3.14, $MEANING_OF_LIFE = 42
Local Const $iApples = 500
Local $aArray_1[12] = [3, 7.5, "string"], $aArray_1[5] = [8, 4, 5, 9, 1]
Local $aGrid[2][4] = [["Paul", "Jim", "Richard", "Louis"], [485.44, 160.68, 275.16, 320.00]]
Global $aTest[5] = [3, 1, StringSplit("Abe|Jack|Bobby|Marty", "|"), Cos(0)]
AutoItSetOption, UBound, ReDim, Static
; Exemple 1 - Déclare des variables Local $i, $j = 23, $k Global $g_fPI = 3.14159, $g_iRADIUS Local $iDaysWorking = 5 ; Exemple 2 - Déclare des tableaux Global $g_aChessBoard[8][8] Local $aStates[2], $aWindowsStats[4] ; Exemple 3 - Déclare des constantes Const $iX1 = 11, $iY1 = 23, $iZ1 = 55 Global Const $PI = 3.14159, $E = 2.71828 Local Const $DAYS_WORKING = 5
#AutoIt3Wrapper_Au3Check_Parameters=-q -d -w- 3 -w- 6 ; Déjà déclaré var = off, avertir lorsque vous utilisez Dim = off #include <MsgBoxConstants.au3> Dim $vVariableThatIsGlobal = "Ceci est une variable qui a une portée sur le programme comme Global." MsgBox($MB_SYSTEMMODAL, "", "Un exemple où Dim pose plus de problèmes qu'il n'en résout.") Example() Func Example() ; Cela me ressemble, car il affiche le texte suivant: Il s'agit d'une variable qui a une portée sur le programme comme Global. MsgBox($MB_SYSTEMMODAL, "", $vVariableThatIsGlobal) ; Appelle la fonction aléatoire. Local $vReturn = SomeFunc() ; La variable Global ($vVariableThatIsGlobal) modifiée parce que j'avais totalement oublié que j'avais un nom de variable identique dans une autre fonction. MsgBox($MB_SYSTEMMODAL, $vReturn, "La variable a maintenant été modifiée: " & $vVariableThatIsGlobal) EndFunc ;==>Example Func SomeFunc() ; Ce code crée une variable de portée Local si le nom de la variable n'existe pas déjà. ; Pour la commodité du raisonnement j'ai complètement oublié que j'ai déjà déclaré une variable avec le même nom. ; En fait, je veux que celle-çi soit modifiée dans la fonction et pas dans la variable au début du script. ; Ca devrait être OK, d'accord? Détrompez-vous. Dim $vVariableThatIsGlobal = "" For $i = 1 To 10 $vVariableThatIsGlobal &= $i ; Cette ligne renverra 12345678910 en effaçant totalement le contenu précédent de $vVariableThatIsGlobal. Next Return $vVariableThatIsGlobal EndFunc ;==>SomeFunc