Wiki-KopieMirror

Dies ist ein Mirror des Wikis von pascal.chat. Bearbeiten, Verlauf und Anmeldung finden dort statt.

typed files/de

Deutsch · English · Polski

Zurück zu den Dateitypen.

typisierte Datei

Eine typisierte Textdatei eignet sich für die Verarbeitung von Dateien jeder Grösse.

Eine typisierte Textdatei besteht aus einzelnen Datensätzen. Alle Datensätze in der Datei haben die gleiche Struktur. Das heisst, dass jeder Datensatz gleich lang ist.

Festlegen der Struktur für Datei und Datensatz

Die Struktur gilt für den Dateityp und den Datensatztyp. Datei und Datensatz müssen die gleiche Struktur haben.

pascal
type
  TMitarbeiter = record
  strName : string[20];
  sinGehalt : single;
end;

Erstellen der Datei

pascal
var
  datDatei: File of TMitarbeiter;
  recDatensatz: TMitarbeiter;
begin
  AssignFile(datDatei, 'D:\beispiel.txt');
  ReWrite(datDatei);  // Erstellt die neue Datei
  // Eine bereits vorhandene Datei wird dabei gelöscht und neu erstellt
  ...
end;

Schliesssen der Datei

pascal
begin
  ...
  Close(datDatei);  // Schliesst die Datei
  ...
end;

Datensatz schreiben

pascal
var
  datDatei: File of TMitarbeiter;
  recDatensatz: TMitarbeiter;
begin
  ...
  // Datensatz füllen
  recDatensatz.strName := 'abcdefghij';
  recDatensatz.sinGehalt := 1700.21;
  Write(datDatei, recDatensatz); // Schreibt den Datensatz in die Datei
  ...
end;

Datensatz lesen

pascal
var
  datDatei: File of TMitarbeiter;
  recDatensatz: TMitarbeiter;
begin
  AssignFile(datDatei, 'D:\beispiel.txt');
  Reset(datDatei);  // Setzt den Dateizeiger auf den Anfang der Datei
  Read(datDatei, recDatensatz); // Liest den Datensatz aus der Datei
  ...
end;

Datei komplett lesen

pascal
var
  datDatei: File of TMitarbeiter;
  recDatensatz: TMitarbeiter;
begin
  AssignFile(datDatei, 'D:\beispiel.txt');
  Reset(datDatei);
  while not eof(datDatei)   //solange noch Daten zu lesen sind
    do begin
      read(datDatei,recDatensatz);
    end;
  CloseFile(datDatei);
end;

Zeiger auf Datensatz positionieren

pascal
begin
  AssignFile(datDatei, 'D:\beispiel.txt');
  Reset(datDatei);
  ...
  Seek(datDatei,0);
  Read(datDatei, recDatensatz);
  recDatensatz.sinGehalt :=1602.22;
  Write(datDatei, recDatensatz);
  ...
end;

From the Free Pascal wiki, page "typed files/de", as it stood on 2020-03-02 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.

Version 1, zuletzt geändert von WikiArchive .