Zitat von
BillieJoe90:
Hallo,
ich würde gerne eine Datei auslesen, und zwar Zeile für Zeile. Es handelt sich um eine m3u-Datei. Theroretisch kann ich mir vorstellen, wie es funktioniert:
While-Schleife, in der ReadLn aufgerufen wird, bis der Dateizeiger am Ende ist.
Quasi:
Delphi-Quellcode:
while DateiZeiger nicht am Ende do begin
ReadLn(...);
ReadLn(...);
end;
Schau mal in nach
EOF, das ist der Dateiende-Zeiger. Allerdings ist es eher unüblich noch auf diese Funktionen zurück zu greifen. In der Regel öffnet man Dateien eher als Stream (damit kannst Du weiter von Inhalt und Speicherort abstrahieren).
Willst Du mit einer Textdatei arbeiten bietet sich zudem die TStringList an. Diese liest für Dich eine Datei in eine Liste ein. Die Anzahl der Zeilen kannst Du mit der Eigenschaft Count ermitteln, auf einzelne Zeilen kannst Du mit der Eigenschaft Items[i] zugreifen (kannst auch [i] direkt an die Instanz anhängen, ist die Standardeigenschaft).
Delphi-Quellcode:
var s: TStringList;
blubb: String;
i: Integer;
begin
s := TStringList.Create;
s.LoadFromFile(DATEI_NAME);
for i := 0 to s.count - 1 do
begin
blubb := s[i];
// mach irgendwas mit blubb
end; // for i := 0 to s.Count - 1
end;
Du kannst natürlich auch die Zeilen verändern und/oder neue hinzufügen. Um die Datei wieder zu Speichern steht Dir dann die Methode saveToFile zur Verfügung.
Gruß Der Unwissende
[edit]
Ich könnte schwören, dass es einst einen roten Kasten gab, der war, hm, rot!
[/edit]