Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
prog:lazarus:types:array [17/05/2021 09:37]
thierry [Sources & Ressources]
prog:lazarus:types:array [20/03/2023 18:18] (Version actuelle)
thierry [Libération]
Ligne 2: Ligne 2:
 ===== Array Static ===== ===== Array Static =====
 <code delphi> <code delphi>
-   FormsProps ​= (fpWidth,​fpHeight);​ // Type énuméré +   TArrayOfString =  array[0..19] of string; // Tableau de 20 strings 
-   FormsPropNames ​= array[fpWidth..fpHeight] of string; // Tableau ayant comme index un type énuméré+</​code><​code delphi>​ 
 +   ​TFormsProps ​= (fpWidth,​fpHeight);​ // Type énuméré 
 +   TFormsPropNames ​= array[fpWidth..fpHeight] of string; // Tableau ayant comme index un type énuméré
  
 </​code>​ </​code>​
 +==== Plusieurs dimensions ====
 +Ce dessous la variable ''​vArrayOfWord''​ contient un tableau a deux dimensions de 0..19 et 0..2\\
 +(comme un tableau de 19 sur 2 cases)
 +<code delphi>
 +vArrayOfWord :  array[0..19][0..2] of word;
 +</​code>​
 +
 +
 ===== Array Dynamic ===== ===== Array Dynamic =====
 ==== Déclaration ==== ==== Déclaration ====
Ligne 35: Ligne 45:
 </​code>​ </​code>​
 J'ai testé et les trois ont le même effet, ils libèrent la même quantité de mémoire. J'ai testé et les trois ont le même effet, ils libèrent la même quantité de mémoire.
 +<​note>​Il est dit [[https://​wiki.freepascal.org/​Dynamic_array/​fr|ICI]]:​\\
 +En affectant ''​nil''​ à une variable tableau dynamique, la mémoire désignée par le pointeur est automatiquement libérée. C'est équivalent à ''​SetLength(MyVariable,​ 0)''​.
 +
 +Cela peut avoir un effet de bord, si la valeur du pointeur n'est pas valide pour différente raisons (i.e., cela a été lu depuis le disque où cela a été enregistré lors d'une précédente exécution). Pour éviter un tel pointeur invalide, vous devez utiliser ''​FillChar(MyVariable,​sizeof(MyVariable),​ #​0)''​.</​note>​
 ===== Array en Const ===== ===== Array en Const =====
 <code delphi> <code delphi>
Ligne 45: Ligne 59:
  
  
-<​note>​Il est dit [[https://​wiki.freepascal.org/​Dynamic_array/​fr|ICI]]:​\\ 
-En affectant ''​nil''​ à une variable tableau dynamique, la mémoire désignée par le pointeur est automatiquement libérée. C'est équivalent à ''​SetLength(MyVariable,​ 0)''​. 
  
-Cela peut avoir un effet de bord, si la valeur du pointeur n'est pas valide pour différente raisons (i.e., cela a été lu depuis le disque où cela a été enregistré lors d'une précédente exécution). Pour éviter un tel pointeur invalide, vous devez utiliser ''​FillChar(MyVariable,​sizeof(MyVariable),​ #​0)''​.</​note>​ 
 ===== Comparaisons ===== ===== Comparaisons =====
   * [[https://​www.arbinada.com/​en/​node/​1411|Comparaison Array / Dynamic Array / TList]]   * [[https://​www.arbinada.com/​en/​node/​1411|Comparaison Array / Dynamic Array / TList]]
Ligne 55: Ligne 66:
  
  
-===== Sources & Ressources =====+====== Voir aussi ====== 
 +  * [[prog:​lazarus:​classes:​tlist]] 
 + 
 +====== Sources & Ressources ​======