| auteurs : Ricky81, Fred_smashg |
Un TStringList est un composant permettant de gérer une liste indexée de chaînes de caractères de type AnsiString. Malgré son nom, c'est en fait un tableau qui se cache derrière, avec une réallocation dynamique pour augmenter sa taille. Il n'y a donc en théorie aucune limite pour la taille d'un élément TStringList, en pratique les limitations viendront évidemment de la mémoire côté système.
Ce composant facilite donc la gestion de listes de chaînes et est particulièrement utile lorsqu'il s'agit de manipuler des fichiers textes. Il dispose notamment des méthodes Add pour insérer une chaîne en fin de liste, Insert pour insérer un élément à une position donnée (il y a donc une réorganisation/décalage d'index pour une partie des éléments déjà existant), Delete qui supprime un élément à une position donnée (idem pour la réorganisation), et Clear qui retire tous les éléments. L'accès aux chaînes se fait via la propriété Strings qui est un tableau de chaînes. Il est important d'avoir à l'esprit que le premier élément sera référencé par un index valant 0 :
TStringList * Liste = new TStringList;
int Taille = Liste- > Count;
AnsiString Chaine = Liste- > Strings[Taille- 1 ];
delete Liste
|
|
| auteurs : Ricky81, TABZ |
Le TStringList ne se limite pas au stockage bête et méchant d'une série de chaînes de caractères. Il permet par exemple de gérer très facilement des couples clé/valeur là où on pourrait penser devoir utiliser une structure plus complexe voire 2 éléments de type TStringList avec synchronisation.
Nous pouvons par exemple très facilement gérer un couple pseudo/prénom comme suit :
TStringList* Liste = new TStringList;
Liste- > Add (" Ricky81=Eric " );
Liste- > Add (" Greybird=Arnaud " );
AnsiString Pseudo, Prenom;
Pseudo = Liste- > Names[0 ];
Prenom = Liste- > Values[Pseudo];
delete Liste;
|
La problématique de synchronisation des informations étant réglée, il est par exemple possible de trier les éléments sans risque en appelant Liste->Sort();
|
Consultez les autres F.A.Q.
|
|
Les sources présentées sur cette page sont libres de droits
et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation
constitue une œuvre intellectuelle protégée par les droits d'auteur.
Copyright © 2009 Developpez Developpez LLC.
Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne
peut être faite de ce site ni de l'ensemble de son contenu : textes, documents
et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez
selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.