home *** CD-ROM | disk | FTP | other *** search
- (* ----------------------------------------------------------------------- *)
- (* DIRMTTYP.PAS *)
- (* (c) 1987 Michael Ceol & PASCAL INT. *)
- (* Typ-Definitionen fuer die MS-DOS/TOS Version der Directory-Bibliothek: *)
- BYTE = 0..255;
- Dir_Chr0 = PACKED ARRAY[1..80] OF CHAR; (* fuer System-Parameter *)
- Dir_Str = STRING[80]; (* der Typ wird fuer vieles verwendet... *)
- Time_Str = STRING[6]; (* enthaelt Uhrzeit im Format "hhmmss" *)
- Date_Str = STRING[8]; (* enthaelt Datum im Format "yyyymmdd" *)
-
- FCB_Rec = RECORD (* nur fuer CP/M relevant, daher hier leer! *)
- dummy : BYTE;
- END;
- (* Struktur der "Disk-Transfer-Area" (Disketten-Uebertragungs-Bereich,
- DTA), in die ein vom BS gefundener Directory-Eintrag uebertragen wird.
- MS-DOS und TOS stimmen bis auf die Reihenfolge von "time" und "date"
- (s.u.) ueberein, waehrend CP/M einen voellig anderen Weg geht (s.
- DIRCPTYP.PAS). Aus Kompatibilitaetsgruenden folgt eine fuer Turbo-
- isten ungewoehnlich Satzstruktur. "resv[21]" enthaelt die Attribute
- des Directory-Eintrages (ging mit Pascal ST+ nicht anders!): *)
- DTA_Rec = PACKED RECORD
- resv : PACKED ARRAY[0..21] OF BYTE;
- time, (* fuer ATARI ST/TOS muessen 'time' *)
- date : INTEGER; (* und 'date' vertauscht werden !!! *)
- szlo,
- szhi : INTEGER;
- name : PACKED ARRAY[1..13] OF CHAR;
- END;
- (* aus Portabititaetsgruenden muss die DTA dynamisch verwaltet werden: *)
- DTA_Ptr = ^DTA_Rec;
- (* die von der Bibliothek verwendete, interne *)
- Dir_Rec = RECORD (* Representation eines Dateieintrages: *)
- name : STRING[8];
- ext : STRING[3];
- time : Time_Str;
- date : Date_Str;
- size : REAL;
- attr : BYTE;
- END;
- Dir_Typ = RECORD (* und ein ganzes Verzeichnis: *)
- num : 0..DirSizeMax; (* Anz. gefundener Eintraege *)
- items : ARRAY[1..DirSizeMax] OF Dir_Rec;
- END;
- (* ----------------------------------------------------------------------- *)
- (* DIRMTTYP.PAS *)