Dim
DescriptionDim nom.<type>(<expression>, [<expression>], ...)
Dim est utilisé pour dimensionner un nouveau tableau. Un tableau peut être composé d'éléments de type quelconque connu sous PureBasic, incluant les structures et les types définis par l'utilisateur (Attention : les éléments d'un tableau sont tous de même type). Une fois le tableau créé il peut être redimensionné mais son contenu sera alors effacé, sauf si ReDim est utilisé. Les tableaux sont alloués dynamiquement ce qui signifie que le dimensionnement peut se faire à partir d'une variable ou d'une expression. Pour consulter toutes les commandes relatives aux tableaux, voir la bibliothèque Array.
Les tableaux sont toujours locaux par défaut, donc pour accéder à partir d'une procedure à un tableau défini dans le code source principal du programme, l'utilisation de Global ou Shared est requise. Il est également possible de passer un tableau en paramètre d'une procédure à l'aide du mot clef Array. Il sera passé "par référence" (ce qui signifie que le tableau ne sera pas copié, et les fonctions dans la procédure manipulerons le tableau original).
Pour effacer le contenu complet d'un tableau et libérer la mémoire qu'il occupe, appelez Dim avec 0 élément.
Utilisez la commande Swap Pour permuter le contenu de tableaux rapidement.
Note: La vérification des accès à un tableau est effectuée uniquement quand le débogueur est activé.
Exemple
Dim MonTableau.l(41) MonTableau(0) = 1 MonTableau(1) = 2
Exemple: Tableau à dimensions multiples
Dim TableauMultiple.b(NbColonnes, NbLignes) TableauMultiple(10, 20) = 10 TableauMultiple(20, 30) = 20
Exemple: Tableau en paramètre d'une procédure
Procedure fill(Array A.l(1), longueur) ; Le 1 représente le nombre de dimensions du tableau
For i = 0 To longueur
A(i) = i
Next i
EndProcedure
Dim A.l(10)
fill(A(), 10) ; Le tableau A() est passé en paramètre
Debug A(5)
Debug A(10)
DescriptionReDim nom.<type>(<expression>, [<expression>], ...)
ReDim permet de redimensionner un tableau déjà déclaré tout en préservant son contenu. La nouvelle taille peut être plus grande ou plus petite, mais le nombre de dimensions ne peut pas être modifié.
Si ReDim est utilisé sur un tableau à plusieurs dimensions, seule la dernière dimension peut être changée.
Exemple
Dim MyArray.l(1) ; nous avons 2 éléments
MyArray(0) = 1
MyArray(1) = 2
ReDim MyArray(4) ; Maintenant nous avons 5 éléments
MyArray(2) = 3
For k = 0 To 2
Debug MyArray(k)
Next