Difference between revisions of "Stringlist/de"
From Lazarus wiki
Jump to navigationJump to searchm |
m (Fixed syntax highlighting; wiki markup) |
||
Line 1: | Line 1: | ||
{{Stringlist}} | {{Stringlist}} | ||
− | + | ||
+ | |||
Zurück zu den [[File types/de|Dateitypen]].<br> | Zurück zu den [[File types/de|Dateitypen]].<br> | ||
− | + | ||
− | + | ||
− | |||
=Stringlist= | =Stringlist= | ||
+ | |||
Bei Stringlist wird eine Datei vollständig in den Arbeitsspeicher gelesen. Daher eignet sich Stringlist für Dateien kleinerer und mittlerer Grösse. | 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. | 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.<br> | 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.<br> | ||
+ | |||
=Anlegen einer Datei= | =Anlegen einer Datei= | ||
− | <syntaxhighlight> | + | |
+ | <syntaxhighlight lang="pascal"> | ||
procedure subStringlistDateiAnlegen(); | procedure subStringlistDateiAnlegen(); | ||
var | var | ||
Line 21: | Line 24: | ||
// Fügt einen Datensatz inclusiv Zeilenumbruch an die Stringliste an | // Fügt einen Datensatz inclusiv Zeilenumbruch an die Stringliste an | ||
strList.Add('xyz'); | strList.Add('xyz'); | ||
+ | |||
// Fügt einen Datensatz inclusiv Zeilenumbruch an die Stringliste an | // Fügt einen Datensatz inclusiv Zeilenumbruch an die Stringliste an | ||
strList.Add('abcd'); | strList.Add('abcd'); | ||
Line 26: | Line 30: | ||
// Schreibt die Datei auf die Festplatte | // Schreibt die Datei auf die Festplatte | ||
strList.SaveToFile('D:\beispiel.txt'); | strList.SaveToFile('D:\beispiel.txt'); | ||
+ | |||
// Gibt den Speicher der Stringliste frei | // Gibt den Speicher der Stringliste frei | ||
strList.Free; | strList.Free; | ||
end; | end; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | ||
=Einen Datensatz an eine vorhandene Datei anfügen= | =Einen Datensatz an eine vorhandene Datei anfügen= | ||
− | <syntaxhighlight> | + | |
+ | <syntaxhighlight lang="pascal"> | ||
procedure subStringlistAnDateiAnfuegen(); | procedure subStringlistAnDateiAnfuegen(); | ||
var | var | ||
Line 49: | Line 55: | ||
// Schreibt die Datei auf die Festplatte zurück | // Schreibt die Datei auf die Festplatte zurück | ||
strList.SaveToFile('D:\beispiel.txt'); | strList.SaveToFile('D:\beispiel.txt'); | ||
+ | |||
// Gibt den Speicher der Stringliste frei | // Gibt den Speicher der Stringliste frei | ||
strList.Free; | strList.Free; | ||
end; | end; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | ||
=Einen Datensatz suchen= | =Einen Datensatz suchen= | ||
+ | |||
==Methode 1== | ==Methode 1== | ||
− | <syntaxhighlight> | + | |
+ | <syntaxhighlight lang="pascal"> | ||
procedure subStringlistInDateiSuchen(); | procedure subStringlistInDateiSuchen(); | ||
var | var | ||
Line 71: | Line 80: | ||
// Verwendung einer Zählschleife um den entsprechenden Datensatz zu finden | // Verwendung einer Zählschleife um den entsprechenden Datensatz zu finden | ||
for intI := 0 to strList.Count -1 do | 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 | // Schreibt die Datei auf die Festplatte zurück | ||
strList.SaveToFile('D:\beispiel.txt'); | strList.SaveToFile('D:\beispiel.txt'); | ||
+ | |||
// Gibt den Speicher der Stringliste frei | // Gibt den Speicher der Stringliste frei | ||
strList.Free; | strList.Free; | ||
end; | end; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | ||
==Methode 2== | ==Methode 2== | ||
− | <syntaxhighlight> | + | |
+ | <syntaxhighlight lang="pascal"> | ||
procedure subStringlistInDateiSuchen2(); | procedure subStringlistInDateiSuchen2(); | ||
var | var | ||
Line 99: | Line 111: | ||
// Sucht einen Text, wird der Text nicht gefunden gibt die Suche -1 aus | // Sucht einen Text, wird der Text nicht gefunden gibt die Suche -1 aus | ||
intI := strList.IndexOf('Text'); | intI := strList.IndexOf('Text'); | ||
+ | |||
// Ändert den Text unter zuhilfename des Index | // Ändert den Text unter zuhilfename des Index | ||
if intI <> -1 then | if intI <> -1 then | ||
Line 105: | Line 118: | ||
// Schreibt die Datei auf die Festplatte zurück | // Schreibt die Datei auf die Festplatte zurück | ||
strList.SaveToFile('D:\beispiel.txt'); | strList.SaveToFile('D:\beispiel.txt'); | ||
+ | |||
// Gibt den Speicher der Stringliste frei | // Gibt den Speicher der Stringliste frei | ||
strList.Free; | strList.Free; | ||
end; | end; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | ||
=Eine Datei alphabetisch sortieren= | =Eine Datei alphabetisch sortieren= | ||
− | <syntaxhighlight> | + | |
+ | <syntaxhighlight lang="pascal"> | ||
procedure subStringlistInDateiSortieren(); | procedure subStringlistInDateiSortieren(); | ||
var | var | ||
Line 129: | Line 144: | ||
// Schreibt die Datei auf die Festplatte zurück | // Schreibt die Datei auf die Festplatte zurück | ||
strList.SaveToFile('D:\beispiel.txt'); | strList.SaveToFile('D:\beispiel.txt'); | ||
+ | |||
// Gibt den Speicher der Stringliste frei | // Gibt den Speicher der Stringliste frei | ||
strList.Free; | strList.Free; | ||
end; | end; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | ||
− | + | ||
--[[User:Olaf|Olaf]] 16:41, 23 October 2012 (UTC) | --[[User:Olaf|Olaf]] 16:41, 23 October 2012 (UTC) | ||
− | [[Category:Tutorials/de]]{{AutoCategory}} | + | |
+ | [[Category:Tutorials/de]] | ||
+ | [[Category:Pascal/de]] | ||
+ | [[Category:Code Snippets/de]] | ||
+ | {{AutoCategory}} |
Latest revision as of 00:21, 16 January 2020
│ 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)