Home » Tutorials » Datenspeicherung » Typisierte Dateien

Typisierte Dateien

Der Record

Als allererstes müssen wir festlegen, wie ein Datensatz aufgebaut sein soll. Als Beispiel wollen wir eine kleine Adressverwaltung erstellen. Die Daten, die in jedem Datensatz gespeichert werden sollen, definieren wir in einem Record:

type Adresse = record
       name: string[50];
       strasse: string[100];
       plz: integer;
       ort: string[50];
     end;

Da Strings ab Delphi 2 dynamisch verwaltet werden, für sie also kein fester Speicherplatz reserviert wird, müssen wir ShortStrings verwenden. Für „Name“ ist ein String von 50 Zeichen Länge vorgesehen, somit ist für den Compiler klar, wie viel Speicher für einen kompletten Datensatz reserviert werden muss.

Wichtig: Zwischen den verschiedenen Delphi-Versionen können sich die Speichergrößen der Datentypen ändern. Ein sicherer Zugriff auf eine typisierte Datei ist also nur mit Anwendungen, die von der gleichen Delphi-Version kompiliert wurden, möglich.
Um dies zu umgehen, sollte ein „packed record“ und keine generischen Typen wie Integer verwendet werden. Integer steht in Delphi 1 für den Typ SmallInt, ab Delphi 2 für LongInt.
Als nächstes legen wir eine Variable fest, die unsere neu anzulegende Datei „adressen.dat“ repräsentieren soll:

var datei: file of Adresse;

Nun ist also klar, dass die Datei aus einer – theoretisch unendlichen – Folge von Datensätzen des Typs Adresse bestehen soll.