home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1987 / 10 / dosfunc / dirmttyp.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1987-08-04  |  2.5 KB  |  46 lines

  1. (* ----------------------------------------------------------------------- *)
  2. (*                              DIRMTTYP.PAS                               *)
  3. (*              (c) 1987  Michael Ceol & PASCAL INT.                       *)
  4. (*  Typ-Definitionen fuer die MS-DOS/TOS Version der Directory-Bibliothek: *)
  5.   BYTE     = 0..255;
  6.   Dir_Chr0 = PACKED ARRAY[1..80] OF CHAR;         (* fuer System-Parameter *)
  7.   Dir_Str  = STRING[80];          (* der Typ wird fuer vieles verwendet... *)
  8.   Time_Str = STRING[6];           (* enthaelt Uhrzeit im Format "hhmmss"   *)
  9.   Date_Str = STRING[8];           (* enthaelt Datum im Format "yyyymmdd"   *)
  10.  
  11.   FCB_Rec  = RECORD            (* nur fuer CP/M relevant, daher hier leer! *)
  12.                dummy : BYTE;
  13.              END;
  14.   (* Struktur der "Disk-Transfer-Area" (Disketten-Uebertragungs-Bereich,
  15.      DTA), in die ein vom BS gefundener Directory-Eintrag uebertragen wird.
  16.      MS-DOS und TOS stimmen bis auf die Reihenfolge von "time" und "date"
  17.      (s.u.) ueberein, waehrend CP/M einen voellig anderen Weg geht (s.
  18.      DIRCPTYP.PAS). Aus Kompatibilitaetsgruenden folgt eine fuer Turbo-
  19.      isten ungewoehnlich Satzstruktur. "resv[21]" enthaelt die Attribute
  20.      des Directory-Eintrages (ging mit Pascal ST+ nicht anders!):          *)
  21.   DTA_Rec  = PACKED RECORD
  22.                resv : PACKED ARRAY[0..21] OF BYTE;
  23.                time,                   (* fuer ATARI ST/TOS muessen 'time' *)
  24.                date : INTEGER;         (* und 'date' vertauscht werden !!! *)
  25.                szlo,
  26.                szhi : INTEGER;
  27.                name : PACKED ARRAY[1..13] OF CHAR;
  28.              END;
  29.     (* aus Portabititaetsgruenden muss die DTA dynamisch verwaltet werden: *)
  30.   DTA_Ptr  = ^DTA_Rec;
  31.                              (* die von der Bibliothek verwendete, interne *)
  32.   Dir_Rec  = RECORD          (* Representation eines Dateieintrages:       *)
  33.                name : STRING[8];
  34.                ext  : STRING[3];
  35.                time : Time_Str;
  36.                date : Date_Str;
  37.                size : REAL;
  38.                attr : BYTE;
  39.              END;
  40.   Dir_Typ  = RECORD                         (* und ein ganzes Verzeichnis: *)
  41.                num   : 0..DirSizeMax;       (* Anz. gefundener Eintraege   *)
  42.                items : ARRAY[1..DirSizeMax] OF Dir_Rec;
  43.              END;
  44. (* ----------------------------------------------------------------------- *)
  45. (*                              DIRMTTYP.PAS                               *)
  46.