Einfach ausgedrückt, Textdateien enthalten lesbare ASCII-Zeichen. Wir können uns vorstellen, mit einer Textdatei in Delphi zu arbeiten, als würde man Informationen auf einem Videorecorder abspielen oder aufzeichnen.
Obwohl es möglich ist, Änderungen an einer Textdatei vorzunehmen, beim Verarbeiten von Informationen herumzuspringen oder der Datei andere Daten als am Ende hinzuzufügen, ist es ratsam, eine Textdatei nur zu verwenden, wenn wir wissen, dass wir mit normalem Text und arbeiten Solche Operationen sind nicht erforderlich.
Textdateien stellen eine Folge von Zeichen dar, die in Zeilen formatiert sind, wobei jede Zeile durch einen Zeilenende-Marker (eine CR / LF-Kombination) abgeschlossen wird..
Um mit Textdateien zu arbeiten, müssen Sie eine Datei auf einer Festplatte mit einer Dateivariablen in Ihrem Code verknüpfen. Deklarieren Sie eine Variable vom Typ TextFile und ordnen Sie mit der Prozedur AssignFile einer Dateivariablen eine Datei auf einer Festplatte zu.
Wenn wir den Inhalt einer Datei in eine Stringliste zurücklesen möchten, reicht eine einzige Codezeile aus.
Um zeilenweise Informationen aus einer Datei zu lesen, müssen wir die Datei für öffnen Eingang mit dem Zurücksetzen Verfahren. Sobald eine Datei zurückgesetzt ist, können wir verwenden ReadLn Informationen aus einer Datei lesen (liest eine Textzeile aus einer Datei und wechselt dann in die nächste Zeile):
Nach dem Hinzufügen einer Textzeile aus einer Datei zu einer Memokomponente muss SomeTxtFile geschlossen werden. Dies geschieht durch die Schließen Stichwort.
Wir können auch die Read-Prozedur verwenden, um Informationen aus einer Datei zu lesen. Read funktioniert genauso wie ReadLn, nur dass der Zeiger nicht in die nächste Zeile verschoben wird.
Verwenden Sie die EOF-Funktion, um sicherzustellen, dass Sie nicht versuchen, über das Ende der Datei hinaus zu lesen. Angenommen, wir möchten den Inhalt der Datei zeilenweise in Meldungsfeldern anzeigen, bis das Ende einer Datei erreicht ist:
Hinweis: Es ist besser, die While-Schleife als die Until-Schleife zu verwenden, um die (unwahrscheinliche) Möglichkeit zu berücksichtigen, dass die Datei vorhanden ist, aber keine Daten enthält.
Das WriteLn ist wahrscheinlich die gebräuchlichste Methode, um einzelne Informationen in eine Datei zu übertragen. Der folgende Code liest einen Text aus einer Memo1-Komponente (Zeile für Zeile) und sendet ihn an eine neu erstellte Textdatei.
Abhängig vom Status der Datei, die für die Rewrite-Prozedur bereitgestellt wurde, wird eine neue Datei mit dem Namen SomeTextFile erstellt (die Datei wird zur Ausgabe geöffnet). Wenn bereits eine Datei mit demselben Namen vorhanden ist, wird diese gelöscht und an ihrer Stelle eine neue leere Datei erstellt. Wenn SomeTextFile bereits geöffnet ist, wird es zuerst geschlossen und dann neu erstellt. Die aktuelle Dateiposition wird auf den Anfang der leeren Datei gesetzt.
Hinweis: Memo1.Lines.SaveToFile ('c: \ MyTextFile.txt') macht dasselbe.
Manchmal müssen wir nur einige Textdaten an das Ende einer vorhandenen Datei anfügen. In diesem Fall rufen wir an Anhängen um sicherzustellen, dass eine Datei nur mit Schreibzugriff geöffnet wird, wobei sich der Dateizeiger am Ende der Datei befindet. Etwas wie:
Im Allgemeinen sollten Sie beim Arbeiten mit Dateien immer die Ausnahmebehandlung verwenden. I / O steckt voller Überraschungen. Verwenden Sie CloseFile immer in einem finally-Block, um zu vermeiden, dass die FAT eines Benutzers beschädigt wird. Alle vorherigen Beispiele sollten wie folgt umgeschrieben werden:
Delphi kann sowohl ASCII-Dateien als auch Dateien mit Binärdaten verarbeiten. Hier sind die Techniken zum Arbeiten mit typisierten und untypisierten (binären) Dateien.