Geschrieben von holland am 03.07.2006, 21:30

Stringliste

Eine Stringliste ist eine nützliche Sache.
Anstatt ein char-Array bzw. ein AnsiString-Array zu
erstellen können wir ganz bequem eine Stringliste
benutzen um mehrere Strings zu speichern.
Obwohl eine Stringliste im weitesten Sinne nichts
anderes als ein AnsiString-Array ist.

//TStringliste erstellen:
TStringList *sl = new TStringList;

//Durch die Erstellung mit "new" müssen wir wenn wir die
//Liste nicht mehr benötigen den Speicher wieder freigeben:
delete sl;

//Eine Stringliste füllen wir mit der Methode "Append":
sl->Append("Eins");
sl->Append("Zwei");
sl->Append("Drei");
//"Append" fügt den jeweiligen String ans Ende der Liste an.
//Für das Anfügen gibt es auch die Methode "Add".
//"Add" unterscheidet sich gegenüber "Append" nur
//dadurch daß es den Listenindex des hinzugefügten
//Strings zurückgibt. Nur wenn dieser für weitere
//Operationen benötigt wird sollte "Add" benutzt
werden.

//Die gesamte Liste können wir uns mit der Eigenschaft
//"Text" anzeigen lassen:
Application->MessageBox(sl->Text.c_str() Test MB_OK);

//Einen einzelnen Eintrag aus der Liste bekommen wir mit
Application->MessageBox(sl->Strings[1].c_str() Test MB_OK);
//Diese Zeile zeigt uns den 2ten Listeneintrag "Zwei" an
//denn das Zählen beginnt bei 0!!!

//Um festzustellen wieviele Einträge die Liste hat benutzen
//wir
Application->MessageBox(AnsiString(sl->Count).c_str() Test MB_OK);

//Um die gesamte Liste zu löschen coden wir
sl->Clear();

//Um einen bestimmten Eintrag aus der Liste zu entfernen
//coden wir
sl->Delete(0);
//Diese Zeile entfernt den Eintrag "Eins" aus der Liste
//(Zählen beginnt bei 0).

//Wenn wir die Listenposition eines bekannten Strings heraus-
//finden möchten coden wir
int index=sl->IndexOf("Zwei");

//Mit der Methode "Equals" können wir zwei StringListen
//miteinander vergleichen:
TStringList *sl = new TStringList;
sl->Append("Eins");
sl->Append("Zwei");
sl->Append("Drei");
TStringList *sl2 = new TStringList;
sl2->Append("Eins");
sl2->Append("Zwei");
sl2->Append("Drei");
if (sl->Equals(sl2))
Application->MessageBox("GLEICH" MB_OK);
else
Application->MessageBox("UNGLEICH" MB_OK);

//Mit der Methode "Insert" können wir neue Strings an
//bestimmte Listenpositionen setzen.
sl->Insert(1 EINSKOMMAFUENF );
//Diese Zeile fügt den String direkt an Position 2 ein.
//Alle anderen Einträge rücken jeweils einen Index runter.

//Mit der Methode "Move" lassen wir einen Eintrag "umziehen":
//Aus
//"Eins"
//"Zwei"
//"Drei"
//wird nach
sl->Move(0 2);
//"Zwei"
//"Drei"
//"Eins"

//Um die Liste in eine Datei zu speichern coden wir
sl->SaveToFile("c://sl.txt");

//Um eine Liste aus einer Datei zu laden coden wir
sl->LoadFromFile("c://sl.txt");

Bewertung Anzahl
3
33,3 %
1 Bewertungen
1
66,7 %
2 Bewertungen