Sign in Join
Wiki copytemporary

Stringlist/de

Deutsch · English · Polski

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

pascal
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

pascal
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

pascal
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

pascal
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

pascal
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)


From the Free Pascal wiki, page "Stringlist/de", as it stood on 2020-01-15 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.

Revision 1, last changed by WikiArchive .

Talk about this page

Nobody has opened a bench for this page yet. Sign in to open one.