Une TStringList est plus qu'une variable, c'est un objet, un objet contient à la fois des données (propriétés) et des méthodes (procédures et fonctions) pour les manipuler.

Pour pouvoir utiliser une variable TStringlist vous devez non seulement la déclarer comme les autres variables mais avant toute manipulation vous devez explicitement la créer et la détruire une fois le travail terminé.

Pour accéder aux données ou aux méthodes de votre TStringList vous devez les accoler au nom de votre objet, ici liste, avec un point .

Propriétés

Sorted:boolean
Indique si la liste est triée.

if liste.sorted=False then liste.sorted:=True:


Duplicates:TDuplicated
Accepte ou non les doublons.

liste.Duplicates := dupIgnore; // ignorer les doublons
liste.Duplicates := dupAccept; // accepter les doublons


Text:String

Contenu de la liste sous forme d'une chaîne unique.
Chaque ligne étant séparée par les caractères #13#10

Strings[index:integer]:string;

récupére la chaîne d'indice index

var liste:TStringList;
s:string;
begin
liste := TStringList.create; // création de la liste
liste.add('bonjour');
liste.add('help&web');
s := liste.strings[0];
liste.strings[1] := 'help&web version 5.0'
liste.free; // destruction
end;


Méthodes

procedure Create

Création de l'objet TStringList

OBLIGATOIRE avant toute utilisation !


procedure Free

Destruction de l'objet TStringList

OBLIGATOIRE avant de quitter le script sous peine de fuite de mémoire


procedure Clear

Efface toutes les chaînes de la liste


procedure Exchange(index1, index2:integer)

Echange la position de 2 chaînes

function Find(s: string; var Index: Integer): Boolean

La méthode Find permet d'obtenir l'indice auquel la chaîne S serait ajoutée dans une liste triée. Si la chaîne S existe déjà dans la liste, Find renvoie True. Si la liste ne contient pas S, Find renvoie False. L'indice qu'aurait S est renvoyé dans le paramètre Index. Index est un indice de base zéro, la première chaîne a l'indice 0, la seconde l'indice 1, etc.

A n'utiliser que pour des listes triée, sinon utiliser IndexOf

function IndexOf(s: string): Integer

La méthode IndexOf renvoie la position de la première occurrence de la chaîne S. IndexOf renvoie l'indice de base zéro de la chaîne. Si S correspond à la première chaîne de la liste, IndexOf renvoie 0, si S est la deuxième chaîne, IndexOf renvoie 1, etc. Si la chaîne n'est pas dans la liste de chaînes, IndexOf renvoie -1.

function IndexOfName(s: string): Integer

La méthode IndexOfName permet de trouver la première occurrence d'une chaîne de la forme Nom=Valeur dont la partie Nom est identique au paramètre Name. IndexOfName renvoie l'indice de base zéro de la chaîne. Si aucune chaîne de la liste ne contient le nom spécifié, IndexOfName renvoie -1.

On trouve couramment des chaînes de la forme Nom=Valeur dans les fichiers .INI. Par exemple:

Largeur=50
dir=c:\

Le nom identifiant la chaîne est placé à gauche du signe égal (=) et la valeur en cours de l'identificateur se trouve à droite. Il ne doit pas y avoir d'espaces de part et d'autre du signe égal.

Remarque

Si la partie Nom de plusieurs chaînes correspond au paramètre Name, IndexOfName renvoie la position de la première occurrence.

procedure Insert(Index: Integer; s: string)

La méthode Insert insère dans la liste la chaîne S à la position spécifiée par Index. Si Index a la valeur 0, la chaîne est insérée en début de liste, si Index a la valeur 1, la chaîne est placée en deuxième position dans la liste, etc.

procedure Move(CurIndex, NewIndex: Integer)

La méthode Move fait passer la chaîne occupant la position CurIndex à la position NewIndex. Les positions sont spécifiées en utilisant un indice de base zéro.

procedure Assign(Source: TStringList)

Recopie la liste Source, toutes les anciennes données sont écrasées par celles de Source.

function Count: Integer

Retourne le nombre d'élément de la liste.
Le premier élément est le numéro zéro et le dernier est le count-1

function Add(s: string): Integer

La méthode Add permet d'ajouter la chaîne S à la liste. Si la liste est triée, S est ajoutée à la position appropriée dans l'ordre de tri. Si la liste n'est pas triée, S est ajoutée en fin de liste. Add renvoie la position de l'élément dans la liste, le premier élément ayant la position 0.

Remarque

Dans le cas d'une liste triée, si Duplicates a la valeur dupIgnore, une tentative d'ajout d'une chaîne déjà présente n'est pas prise en compte.

procedure AddStrings(Strings: TStringList)

Ajoute une liste de chaînes en fin de liste


function GetValues(Name: string): string

Dans le cas de ligne du genre Nom=Valeur, GetValues retourne la partie Valeur correspodante à Nom (à gauche du signe =)

Retourne une chaîne vide si aucune chaîne ne correspond

procedure SetValues(Name: string; Value: string)

Dans le cas de ligne du genre Nom=Valeur, SetValues modifie la partie Valeur correspodante à Nom (à gauche du signe =)

La chaîne Name=Value est créée si elle n'existe pas.

function Equals(Strings: TStringList): Boolean

Compare 2 listes et renvoie True si elles sont identiques (même nombre d'éléments et même disposition de ceux-ci)

function Names(Index: Integer): string

Dans le cas de ligne du genre Nom=Valeur, Names retourne la partie Nom (à gauche du signe =) de la chaîne dont le numéro d'ordre est index

Retourne une chaîne vide si aucune chaîne ne correspond

voir IndexOfName pour trouver Index en fonction de Nom

procedure Delete(Index: Integer)

Efface la chaîne de numéro d'ordre Index

procedure LoadFromFile(FileName: string)

Charge la liste avec un fichier texte

procedure SaveToFile(FileName: string)

Enregistrer la liste dans un fichier texte, si vous n'indiquez pas de répertoire le fichier sera sauvegardé dans le répertoire du projet.

Sommaire