Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Textdatei zeilenweise einlesen (https://www.delphipraxis.net/101004-textdatei-zeilenweise-einlesen.html)

Tommy1988 6. Okt 2007 21:59


Textdatei zeilenweise einlesen
 
Zuerst:
Alles, was ich an Grundwissen habe (Und ja, ich habe das Tutorial schon durch) kann ich sagen:
"Ich weis nicht weiter"

Suche wurde bemüht.

Undzwar:
Wie kann ich eine einfache Textdatei zeilenweise auslesen/einlesen?

Z.B. eine Variable mit dem Inhalt von Zeile X füllen?

Edit:
Meine vielleicht unschöne Lösung (Habe eine Stringlist genommen, obwohl ich sie hasse!)

Delphi-Quellcode:
sl := TStringlist.Create;
sl.LoadFromFile(Form3.ShellTreeView1.Path);

Caption := sl.Strings[Liste.Count-1]; // Caption nur um inhalt irgentwo sichtbar zu machen
// Das wäre dann die LETZTE zeile

Matze 6. Okt 2007 22:08

Re: Textdatei zeilenweise einlesen
 
Hallo,

die Suche hätte dir diesen Code gegeben:

Delphi-Quellcode:
var
  Txtdatei: Textfile;
  Zeile: String;
begin
  AssignFile(Txtdatei, 'Hallo.txt');
  Reset(Txtdatei);
  Readln(Txtdatei, Zeile);
  ....
  CloseFile(Txtdatei);
end;

DP-Maintenance 6. Okt 2007 22:09

DP-Maintenance
 
Dieses Thema wurde von "Matze" von "Programmieren allgemein" nach "Sonstige Fragen zu Delphi" verschoben.

Tommy1988 6. Okt 2007 22:42

Re: Textdatei zeilenweise einlesen
 
Ok, aber ist meine bescheidene Lösung denn akzeptabel?

Matze 6. Okt 2007 22:48

Re: Textdatei zeilenweise einlesen
 
Das musst du für dich entscheiden. Wenn du damit zufrieden bist, wieso nicht?
Ist die Textdatei nicht sonderlich groß, dann ist deine Lösung in Ordnung. Je größer jedoch die Datei, desto länger benötigt das Einlesen in die StringList und desto mehr RAM wird belegt.

Edit: Aber vergiss die Ressourcenschutzblöcke nicht.

Tommy1988 6. Okt 2007 23:01

Re: Textdatei zeilenweise einlesen
 
Zitat:

Ressourcenschutzblöcke
Habe ich noch nie gehört :pale:

Matze 6. Okt 2007 23:05

Re: Textdatei zeilenweise einlesen
 
Zitat:

Zitat von Tommy1988
Habe ich noch nie gehört :pale:

Aber du weißt sicher schon, was das ist, nämlich try - finally ;)

Delphi-Quellcode:
sl := TStringlist.Create;
try
  // ...
finally
  FreeAndNil(sl);
end;
Das sorgt dafür, dass der Speicher auch dann wieder freigegeben wird, falls beim Zugriff auf die Stringlist oder ähnlichem (das im try-Abschnitt) eine Exception geworfen werden sollte.

Edit: ich sehe gerade, dass ich "finally-Abschnitt" geschrieben hatte.

Tommy1988 6. Okt 2007 23:27

Re: Textdatei zeilenweise einlesen
 
Ahhhh.. doch unter diesem Namen ist mir das durchaus bekannt :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:34 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz