Dim


Syntax
Dim nom.<type>(<expression>, [<expression>], ...)
Description
Dim est utilisé pour dimensionner un nouveau tableau.

Un tableau peut être composé d'éléments de type basique connu sous PureBasic, incluant les structures et les types définis par l'utilisateur.
Attention : Les éléments d'un tableau doivent tous être 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.

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 consulter toutes les commandes relatives aux tableaux comme la copie, la destruction ou l'obtention de la taille d'un tableau, voir la bibliothèque Array.

Pour effacer le contenu complet d'un tableau et libérer la mémoire qu'il occupe, utilisez FreeArray().

Si Dim est utilisé sur un tableau existant, il réinitialise son contenu à zéro.

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(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 Nombres(1), Longueur)  ; Le 1 représente le nombre de dimensions du tableau
    For i = 0 To Longueur
      Nombres(i) = i
    Next i
  EndProcedure
  
  Dim Nombres(10)
  fill(Nombres(), 10)  ; Le tableau Nombres() est passé en paramètre
  
  Debug Nombres(5)
  Debug Nombres(10)

Syntax
ReDim nom.<type>(<expression>, [<expression>], ...) 
Description
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 MonTableau.l(1) ; nous avons 2 éléments
  MonTableau(0) = 1
  MonTableau(1) = 2
  
  ReDim MonTableau(4) ; Maintenant nous avons 5 éléments
  MonTableau(2) = 3
  
  For k = 0 To 2
    Debug MonTableau(k)
  Next