home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1987 / 11 / dirlib / dirmtdta.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1987-08-20  |  1.6 KB  |  31 lines

  1. (* ----------------------------------------------------------------------- *)
  2. (*                           DIRMTDTA.PAS                                  *)
  3. (*              (c) 1987  Michael Ceol & PASCAL INT.                       *)
  4. (* Eintrag aus DTA (MS-DOS und TOS) in das Format der Bibliothek bringen:  *)
  5. PROCEDURE DTAtoDirEntry (VAR entry: Dir_Rec);
  6. VAR i: INTEGER;  temp: Dir_Str;
  7. BEGIN
  8.  WITH entry DO begin
  9.   name := ''; ext := ''; date := '00000000'; time := '000000'; size := 0.0;
  10.   IF DirResult = DOSfnok THEN BEGIN
  11.         (* Dateiname: CHAR-Array nach String, 0-Byte kennzeichnet das Ende *)
  12.     temp := '';  i := 1;
  13.     WHILE (i <= 13) AND (DirDTA^.name[i] <> Chr(0)) DO BEGIN
  14.       temp := Concat(temp, DirDTA^.name[i]); i := Succ(i);
  15.     END;
  16.                        (* wg. Sortierung Name und Art (Extension) trennen: *)
  17.     i := Pos('.',temp);  ext := '';
  18.     IF i > 1 THEN ext := Copy(temp,Succ(i),Length(temp)-i)   (* Ext. vorh. *)
  19.     ELSE i := Succ(Length(temp));    (* keine Ext. oder 'Mama'-Verzeichnis *)
  20.     name := Copy(temp,1,Pred(i));
  21.                     (* wiederum wg. Sortierung mit Leerzeichen auffuellen: *)
  22.     FOR i := Succ(Length(name)) TO 8 DO name := Concat(name,' ');
  23.     FOR i := Succ(Length(ext)) TO 3 DO ext := Concat(ext,' ');
  24.     DOSTimeStr(DirDTA^.time, time);    DOSDateStr(DirDTA^.date, date);
  25.     size := CompFSize;                 attr := DirDTA^.resv[21];
  26.   END;
  27.  END;
  28. END;
  29. (* ----------------------------------------------------------------------- *)
  30. (*                           DIRMTDTA.PAS                                  *)
  31.