Une variable est juste un endroit où stocker une donnée en mémoire de telle sorte qu'elle soit accessible rapidement. Pensez-y comme une boite aux lettres dans la mémoire où vous pouvez y placer ou retirer la donnée. Par exemple, vous pourriez créer une variable pour stocker le nombre de réponse d'un utilisateur, ou le résultat d'une équation mathématique.
Chaque variable a un nom (Comme une boite aux lettres), doit commencer par le caractère $ et ne doit contenir que des lettres, chiffres et le caractère trait vers le bas _. Voici quelques exemple de noms :
$var1
$ma_variable
Chaque variable est stockée comme une information variante (variant).
Les variables sont déclarées et créées avec les mots clé Dim, Local et Global :
Dim $var1
Ou bien, vous pouvez déclarer plusieurs variables d'un coup :
Dim $var1, $mavariable
Vous pouvez aussi assigner une variable sans la déclarer auparavant, mais beaucoup préfèrent les déclarations explicites.
$var1 = "créé et assignée"
Les constantes sont déclarées et créées en utilisant le mot clé Const comme ceci :
Const $const1 = 1, $const2=12
Les constantes peuvent etre déclarées et initialisées en utilisant le mot clé Enum comme ceci :
Enum $const1 = 1, $const2, $const3
; 1, 2, 3 (Valeur des variables)
Enum STEP 2 $incr0, $incr2, $incr4 ; 0, 2, 4 (Valeur des variables)
Enum STEP *2 $mult1, $mult2, $mult4 ; 1, 2, 4 (Valeur des variables)
Une variable Const ne peux être déclarée deux fois.
La portée d'une variable est en fonction de quand et où vous avez déclaré la variable. Si vous déclarez une variable au début de votre script et en dehors de toute fonction elle existera sur une portée Globale et pourra être lue ou changée dans n'importe quelle partie de votre script.
Si vous déclarez une variable à l'intérieur d'une fonction elle a une portée Locale et ne peut être utilisée que dans cette meme fonction. Les variables créées dans une fonction sont automatiquement détruite quand la fonction se termine.
Par défaut, quand les variables sont déclarées en utilisant le mot clé Dim ou assignées dans une fonction, elles ont une portée Locale, à moins qu'il n'existe une variable globale du même nom (dans ce cas, la variable globale est réutilisée). Ceci peut être modifié en utilisant les mots clé Local et Global pour déclarer les variables etforcer leur portée comme vous le souhaitez.
Une Matrice (Array) est une variable contenant une série de données de même type et taille.
Chaque élément dans cette variable peut être accédé par un index numérique.
Exemple:
Disons que vous souhaitiez stocker cette série de caractères : "A", "U", "T", "O", "I",
"T" et "3".
Vous pourriez utiliser sept variables séparées pour le faire, mais utiliser une Matrice est bien plus efficace :
$Array[0]="A"
$Array[1]="U"
..etc..
$Array[6]="3"
Pour accéder à une valeur spécifique dans une Matrice, vous devez simplement en connaître l'index :
$MonCar=$Array[2]
Le résultat est que $MyChar contient la lettre "T" (Voir aussi : 'Les opérateurs').
L'index peut aussi être substitué par une autre variable ou expression,
ainsi vous pouvez construire des moyens assez complexes d'assigner et d'accéder aux éléments d'une Matrice.
Les Matrices peuvent aussi être multi dimensionnels, quand vous utilisez des séries multiples d'index, comme ceci :
$Array[0][0]="Supérieur-Gauche"
$Array[1][0]="Inférieur-Gauche"
$Array[0][1]="Supérieur-Droit"
$Array[1][1]="Inférieur-Droit"
(Ces valeurs sont justes des exemples)
Vous pouvez utiliser jusqu'a 64 dimensions dans une Matrice. Le nombre total d'entrée ne peut
être supérieur à 2^24 (16 777 216).
Avant de pouvoir utiliser les Matrices dans vos scripts, vous devez définir leurs limites
en utilisant le mot clé 'Dim'.
Il a été dit que les Matrices ne contiennent qu'un seul datatype du même type.
Mais techniquement parlant, une variable dans AutoIt peut contenir n'importe quoi, d'un nombre
à une valeur booléenne. Donc, une Matrice dans AutoIt peut contenir des variables de types différents,
y compris d'autres Matrices :
$Array[0]=1
$Array[1]=true
$Array[2]="Texte"
$Array[3]=$AutreArray
Ceci n'est pas totalement interdit dans AutoIt. Cependant, il n'est PAS CONSEILLE de mélanger les types de données dans une Matrice. particulièrement, l'utilisation d'une Matrice dans une autre Matrice ralentira sérieusement l'exécution de votre script.