Programmiersprache Pascal

Direktzugriffsdateien

Direktzugriffsdateien wurden mit Extended Pascal eingeführt.

Direktzugriff bedeutet, direkt auf Datensätze positionieren zu können, ohne sequentiell die vorherigen Datensätze durchlaufen zu müssen.

Direktzugriffsdateien werden wie folgt deklariert:

  TYPE name = FILE[indextyp] OF basistyp;
indextyp muß ein ordinaler Datentyp sein.
basistyp kann ein (fast) beliebiger Datentyp sein. Nichtzugelassen sind Dateitypen sowie Typen mit Komponenten, die einen Dateityp besitzen.

Eine Direktzugriffsdatei

Für die Arbeit mit Direktzugriffsdateien gibt es spezielle Prozeduren: Ein Datensatz kann - nach erfolgter Positionierung durch SeekWrite oder SeekUpdate - auf folgende Weisen geschrieben werden: datensatz muß eine Variable vom Typ basistyp sein.

Ein Datensatz kann - nach erfolgter Positionierung durch SeekRead auf folgende Weisen geschrieben werden:

datensatz muß eine Variable vom Typ basistyp sein.

Beispiel:

  PROGRAM dfile(f, OUTPUT);
  TYPE df = FILE[1..3] OF INTEGER;
  VAR f : df;
      i, j : INTEGER;
  BEGIN
    Rewrite(f);
  
    SeekWrite(f, 1);
    FOR i:=1 TO 3 DO BEGIN
      f^ := i; Put(f);
    END;
  
    SeekRead(f, 1);
    FOR i:=1 TO 3 DO BEGIN
      Get(f); j := f^;
      Writeln(j);
    END;
  
    FOR i:= 3 DOWNTO 1 DO BEGIN
      SeekUpdate(f, i);
      Write(f, 10*i);
    END;
  
    FOR i:= 3 DOWNTO 1 DO BEGIN
      SeekRead(f, i);
      Read(f, j);
      Writeln(j);
    END;
  
    Close(f);
  END.
Im Zusammenhang mit dem Datensatzzeiger können die beiden folgenden Funktionen genutzt werden: position muß eine Variable vom Typ indextyp sein.



P. Böhme, 18.07.1996