Stringlist/de
From Lazarus wiki
Jump to navigationJump to search
│ Deutsch (de) │ English (en) │ polski (pl) │
Zurück zu den Dateitypen.
Stringlist
Bei Stringlist wird eine Datei vollständig in den Arbeitsspeicher gelesen. Daher eignet sich Stringlist für Dateien kleinerer und mittlerer Grösse.
Stringlist ist eine Möglichkeit Dateien einfach und schnell zu verarbeiten. Stringlist bietet sich für die Verarbeitung von Dateien an, die kleiner als ein MB sind.
Für die Verarbeitung der Datei wird die gesamte Datei in den Arbeitsspeicher geladen. Jede Zeile des Datensatzes wird dabei in ein eigenes Arrayelement eingelesen.
Anlegen einer Datei
procedure subStringlistDateiAnlegen();
var
// TStringlist ist Bestandteil der Unit Classes
strList: TStringList;
begin
// Erstellt die Stringliste
strList := TStringList.Create;
// Fügt einen Datensatz inclusiv Zeilenumbruch an die Stringliste an
strList.Add('xyz');
// Fügt einen Datensatz inclusiv Zeilenumbruch an die Stringliste an
strList.Add('abcd');
// Schreibt die Datei auf die Festplatte
strList.SaveToFile('D:\beispiel.txt');
// Gibt den Speicher der Stringliste frei
strList.Free;
end;
Einen Datensatz an eine vorhandene Datei anfügen
procedure subStringlistAnDateiAnfuegen();
var
// TStringlist ist Bestandteil der Unit Classes
strList: TStringList;
begin
// Erstellt die Stringliste
strList := TStringList.Create;
// Liest eine Datei vollständig ein
strList.LoadFromFile('D:\beispiel.txt');
// Fügt einen Datensatz inclusiv Zeilenumbruch an die Stringliste an
strList.Add('Text');
// Schreibt die Datei auf die Festplatte zurück
strList.SaveToFile('D:\beispiel.txt');
// Gibt den Speicher der Stringliste frei
strList.Free;
end;
Einen Datensatz suchen
Methode 1
procedure subStringlistInDateiSuchen();
var
// TStringlist ist Bestandteil der Unit Classes
strList: TStringList;
intI: Integer;
begin
// Erstellt die Stringliste
strList := TStringList.Create;
// Liest eine Datei ein
strList.LoadFromFile('D:\beispiel.txt');
// Verwendung einer Zählschleife um den entsprechenden Datensatz zu finden
for intI := 0 to strList.Count -1 do
begin
// Suchen und verändern des Datensatzes
if strList[intI]='abcd' then
strList[intI]:='dcba';
end;
// Schreibt die Datei auf die Festplatte zurück
strList.SaveToFile('D:\beispiel.txt');
// Gibt den Speicher der Stringliste frei
strList.Free;
end;
Methode 2
procedure subStringlistInDateiSuchen2();
var
// TStringlist ist Bestandteil der Unit Classes
strList: TStringList;
intI: Integer;
begin
// Erstellt die Stringliste
strList := TStringList.Create;
// Liest eine Datei ein
strList.LoadFromFile('D:\beispiel.txt');
// Sucht einen Text, wird der Text nicht gefunden gibt die Suche -1 aus
intI := strList.IndexOf('Text');
// Ändert den Text unter zuhilfename des Index
if intI <> -1 then
strList[intI]:='txeT';
// Schreibt die Datei auf die Festplatte zurück
strList.SaveToFile('D:\beispiel.txt');
// Gibt den Speicher der Stringliste frei
strList.Free;
end;
Eine Datei alphabetisch sortieren
procedure subStringlistInDateiSortieren();
var
// TStringlist ist Bestandteil der Unit Classes
strList: TStringList;
intI: Integer;
begin
// Erstellt die Stringliste
strList := TStringList.Create;
// Liest eine Datei ein
strList.LoadFromFile('D:\beispiel.txt');
// Sortiert die Stringliste Alphabetisch
strList.Sort;
// Schreibt die Datei auf die Festplatte zurück
strList.SaveToFile('D:\beispiel.txt');
// Gibt den Speicher der Stringliste frei
strList.Free;
end;
--Olaf 16:41, 23 October 2012 (UTC)