Mais d'abord, c'est quoi un tableau ?
Le tableau, appelé 'Array' en anglais, est une variable qui peut avoir plusieurs dimensions.
Il peut être initialisé par les commandes Const, Global, Dim et Local tout comme une variable standard.
La différence, c'est qu'il contient plusieurs 'cases' dans lesquelles on pourra stocker des valeurs.
C'est en gros la réunion des boîtes aux lettres du quartier. Mais comme vous vous en doutez, ces boîtes aux lettres ont un lien entre elles, ici elles recevront le courrier par le même facteur.
Un Array sera défini par des lignes et des colonnes, par exemple je veux savoir ce que contient la seconde ligne de la première colonne.
Les Arrays 1D
On parle d'un tableau 1D lorsque celui-ci est initialisé avec une seule dimension (une seule colonne) :
Code : Autre1
| Dim $Array[5] = [8, 4, 5, 9, 1] |
Nous avons ci-dessus un tableau de cinq lignes avec une colonne.
Pour accéder ou modifier un élément de ce tableau, il suffit d'indiquer la valeur de la position de cet élément dans le tableau.
Attention, lors de l'initialisation d'un tableau.
Lors de son initialisation, vous déclarez le nombre d'éléments du tableau,
mais celui-ci démarre toujours à l'élément 0, ce qui décale le comptage des éléments.
Un tableau ne peut dépasser 64 dimensions et/ou 16 millions d'éléments.
Par exemple, essayez le code ci-dessous :
Code : Autre1
2
| Dim $Array[5] = [8, 4, 5, 9, 1]
MsgBox(0,"Tutoriel Autoit du siteduzero.com",$Array[1]) ;Affiche la valeur de la ligne 1 |
Il affichera la valeur '
4'.
Code : Autre
Selon le tableau déclaré précédemment, ce code attribue la valeur 9 à la variable
$Var.</puce>
Les Arrays 2D
On parle d'un tableau 2D lorsque celui-ci est initialisé avec plus d'une dimension, c'est à dire qu'on aura par exemple plusieurs lignes et plusieurs colonnes. Ce type d'Array ressemble donc aux tableaux tels que vous les concevez
in real life.
On pourra donc utiliser le shéma suivant pour déclarer nos Arrays 2D:
Code : Autre1
2
3
4
5
6
7
| Dim $Array[Nb_Ligne][Nb_Colonnes]=
[
[Ligne1_Col1, Ligne1_Col2, ... , Ligne1_ColN],
[Ligne2_Col1, Ligne2_Col2, ... , Ligne2_ColN],
... ,
[LigneN_Col1, LigneN_Col2, ... , LigneN_ColN]
] |
Exemple
Prenons un tableau classique, créé avec Excel, qui comprend le Prénom et l'argent que possèdent plusieurs personnes. Il ressemblera alors à :
Code : Autre1
2
3
4
5
| ; Crée un tableau de deux colonnes avec cinq lignes.
Dim $Grille[5][2]=[["PRENOM", "ARGENT"], ["Jim", 485.44], ["Louis", 160.68], ["Paul", 275.16], ["Richard", 320.00]]
; Attribue la valeur Paul à la variable $Var
$Var = $Grille[3][0] |
Si on veut récupérer la cinquième ligne de la deuxième colonne (Donc l'argent que possède Richard) on va donc chercher à:
Code : Autre
Ce qui affichera
320.
Tout comme une variable classique, un tableau peut être dupliqué simplement comme ceci :
Code : Autre
ou effacé comme ceci :
Code : Autre
On utilisera très souvent les tableaux pour stocker des valeurs multiples car le traitement en sera plus rapide et plus aisé, notamment grâce aux boucles que vous allez voir prochainement, et parce que si vous deviez créer 150 variables pour stocker vos valeurs vous seriez bien embêté.
Vous auriez pu contourner le problème car Autoit autorise la création et la lecture de variables dynamiques grâce aux commandes Assign() et Eval() mais nous verrons ceci beaucoup plus loin dans le tutoriel