Types de données de tableau dans Delphi

Array := Série de valeurs

femme regardant un ordinateur portable à côté de windows au bureau.

Stickney Design / Moment ouvert / Getty Images





Les tableaux nous permettent de faire référence à une série de variables par le même nom et d'utiliser un nombre (un index) pour appeler les éléments individuels de cette série. Les tableaux ont à la fois des limites supérieures et inférieures et les éléments du tableau sont contigus à l'intérieur de ces limites.

Les éléments du tableau sont des valeurs qui sont toutes du même type (chaîne, entier, enregistrement, objet personnalisé).



Dans Delphi, il existe deux types de tableaux : un tableau de taille fixe qui reste toujours de la même taille -- un tableau statique -- et un tableau dynamique dont la taille peut changer à l'exécution.

Tableaux statiques

Supposons que nous écrivions un programme qui permet à un utilisateur de saisir certaines valeurs (par exemple, le nombre de rendez-vous) au début de chaque journée. Nous choisirions de stocker les informations dans une liste. Nous pourrions appeler cette liste Rendez-vous , et chaque numéro peut être stocké sous Appointments[1], Appointments[2], etc.



Pour utiliser la liste, nous devons d'abord la déclarer. Par exemple:

|__+_|

déclare une variable appelée Appointments qui contient un tableau unidimensionnel (vecteur) de 7 valeurs entières. Compte tenu de cette déclaration, Appointments[3] désigne la quatrième valeur entière dans Appointments. Le nombre entre parenthèses s'appelle l'indice.

Si nous créons un tableau statique mais n'attribuez pas de valeurs à tous ses éléments, les éléments inutilisés contiennent des données aléatoires ; ils sont comme des variables non initialisées. Le code suivant peut être utilisé pour définir tous les éléments du tableau Rendez-vous sur 0.

|__+_|

Parfois, nous devons garder une trace des informations connexes dans un tableau. Par exemple, pour garder une trace de chaque pixel sur l'écran de votre ordinateur, vous devez vous référer à ses coordonnées X et Y à l'aide d'un multidimensionnel tableau pour stocker les valeurs.



Avec Delphi, nous pouvons déclarer des tableaux de plusieurs dimensions. Par exemple, l'instruction suivante déclare un tableau 7 par 24 à deux dimensions :

|__+_|

Pour calculer le nombre d'éléments dans un tableau multidimensionnel, multipliez le nombre d'éléments dans chaque index. La variable DayHour, déclarée ci-dessus, met de côté 168 (7*24) éléments, en 7 lignes et 24 colonnes. Pour récupérer la valeur de la cellule de la troisième ligne et de la septième colonne, nous utiliserons : DayHour[3,7] ou DayHour[3][7]. Le code suivant peut être utilisé pour définir tous les éléments du tableau DayHour sur 0.



|__+_|

Tableaux dynamiques

Vous ne savez peut-être pas exactement quelle est la taille d'un tableau. Vous voudrez peut-être avoir la capacité de changer la taille du tableau à l'exécution . Un tableau dynamique déclare son type, mais pas sa taille. La taille réelle d'un tableau dynamique peut être modifiée au moment de l'exécution en utilisant le DéfinirLongueur procédure.

|__+_|

crée un tableau dynamique unidimensionnel de chaînes. La déclaration n'alloue pas de mémoire pour les étudiants. Pour créer le tableau en mémoire, nous appelons la procédure SetLength. Par exemple, étant donné la déclaration ci-dessus,



|__+_|

alloue un tableau de 14 chaînes, indexées de 0 à 13. Les tableaux dynamiques sont toujours indexés sur des entiers, commençant toujours de 0 à un de moins que leur taille en éléments.

Pour créer un tableau dynamique à deux dimensions, utilisez le code suivant :



|__+_|

qui alloue de l'espace pour un tableau bidimensionnel 10 x 20 de valeurs à virgule flottante Double.

Pour supprimer l'espace mémoire d'un tableau dynamique, affectez nil à la variable de tableau, comme :

|__+_|

Très souvent, votre programme ne sait pas au moment de la compilation combien d'éléments seront nécessaires ; ce nombre ne sera pas connu avant l'exécution. Avec les baies dynamiques, vous ne pouvez allouer que la quantité de stockage nécessaire à un moment donné. En d'autres termes, la taille des tableaux dynamiques peut être modifiée au moment de l'exécution, ce qui est l'un des principaux avantages des tableaux dynamiques.

L'exemple suivant crée un tableau de valeurs entières, puis appelle la fonction Copy pour redimensionner le tableau.

|__+_|

La fonction SetLength crée un tableau plus grand (ou plus petit) et copie les valeurs existantes dans le nouveau tableau . Les fonctions Low et High vous garantissent d'accéder à chaque élément du tableau sans regarder en arrière dans votre code pour les valeurs d'index inférieures et supérieures correctes.