Home » Tutorials » Datenspeicherung » Typisierte Dateien

Typisierte Dateien

Positionieren

Als erstes legen wir uns eine Prozedur an, die das Positionieren des Dateizeigers vornimmt, überprüft, ob der gewünschte Datensatz überhaupt vorhanden ist und schließlich die gefundenen Daten in unseren Edit-Feldern anzeigt:

procedure TForm1.positionieren(datensatz: integer);
var aktdatensatz: Adresse;
begin
  if (datensatz<0) or (datensatz>=FileSize(datei)) then exit
  else begin
    seek(datei, datensatz);
    read(datei, aktdatensatz);
    edit1.text:=aktdatensatz.name;
    edit2.text:=aktdatensatz.strasse;
    edit3.text:=IntToStr(aktdatensatz.plz);
    edit4.text:=aktdatensatz.ort;
  end;
end;

„Datensatz“ enthält dabei die Nummer eines Datensatzes nach Pascal-Zählweise, also mit Null beginnend. Deshalb muss von FileSize(datei) auch eins abgezogen werden, um die (Pascal-)Nummer des letzten Datensatzes zu erhalten.
Da wir die Postleitzahl im Integer-Format speichern, muss die Zahl zur Anzeige in einen String umgewandelt werden. Dieses Vorgehen ist bei Postleitzahlen nicht zu empfehlen, da dabei führende Nullen verloren gehen. Es gibt jedoch Postleitzahlen, die mit Null beginnen. Es soll hier aber gezeigt werden, dass typisierte Dateien nicht nur mit Strings funktionieren.