home *** CD-ROM | disk | FTP | other *** search
- (* ----------------------------------------------------------------------- *)
- (* DIRCPDTA.PAS *)
- (* (c) 1987 Michael Ceol & PASCAL INT. *)
- (* Eintrag aus DTA (CP/M 2.x & 3.x in das Format der Bibliothek bringen: *)
- PROCEDURE DTAtoDirEntry (VAR entry: Dir_Rec);
- VAR i: INTEGER; temp: Dir_Str;
- BEGIN
- WITH entry DO BEGIN
- name := ''; ext := ''; date := ''; time := ''; size := 0.0;
- IF DIRResult = DOSfnok THEN BEGIN
- FOR i := 1 TO 8 DO (* Attribut-Bits in Name ausgeblenden: *)
- name := Concat(name,Chr(Ord(DirDTA^[DirFCB.DTAInx].fname[i]) AND $7F));
- FOR i := 9 TO 11 DO (* Attribut-Bits in Ext. ausgeblenden: *)
- ext := Concat(ext, Chr(Ord(DirDTA^[DirFCB.DTAInx].fname[i]) AND $7F));
- time := '000000'; date := '00000000'; size := 0.0;
- attr := GetDEAttr(DirFCB.DTAInx); (* Attribut a la MS-DOS erzeugen *)
- (* nur CP/M 3.x mit aktiver Zeitstempelung verfuegt ueber Datei-Datum: *)
- IF (DVersion IN [$30..$3F]) AND (DirDTA^[3].dircod = $21) THEN BEGIN
- WITH DirDTA^[3].datim[DirFCB.DTAInx] DO BEGIN
- DOSDateStr(udate,date); DOSTimeStr(utime,time);
- END;
- END;
- END;
- END;
- END;
- (* ----------------------------------------------------------------------- *)
- (* DIRCPDTA.PAS *)