home *** CD-ROM | disk | FTP | other *** search
/ Simtel MSDOS - Coast to Coast / simteldosarchivecoasttocoast2.iso / modem / suncom.zip / TPZFILES.PAS < prev    next >
Pascal/Delphi Source File  |  1988-09-18  |  2KB  |  88 lines

  1. UNIT TPZFiles;
  2. (* File manipulation routines for Turbo Pascal Zmodem *)
  3. (* (c)1988 by J.R.Louvau                              *)
  4. INTERFACE
  5. USES Dos;
  6.  
  7. FUNCTION  Z_OpenFile(VAR f: FILE; pathname: STRING): BOOLEAN;
  8. (* Return true if able to open an existing file *)
  9. FUNCTION  Z_MakeFile(VAR f: FILE; pathname: STRING): BOOLEAN;
  10. (* Return true if able to create a file *)
  11. PROCEDURE Z_CloseFile(VAR f: FILE);
  12. (* Closes a file and ignores errors *)
  13. FUNCTION  Z_SeekFile(VAR f: FILE; fpos: LONGINT): BOOLEAN;
  14. (* Find a byte position within a file *)
  15. FUNCTION  Z_WriteFile(VAR f: FILE; VAR buff; bytes: WORD): BOOLEAN;
  16. (* Read a specified number of bytes from a file *)
  17. FUNCTION  Z_ReadFile(VAR f: FILE; VAR buff; btoread: WORD; VAR bread: WORD): BOOLEAN;
  18. (* Search for a named file *)
  19. FUNCTION  Z_FindFile(pathname: STRING; VAR name: STRING; VAR size, time: LONGINT): BOOLEAN;
  20. (* Set time and date of a file *)
  21. PROCEDURE Z_SetFTime(VAR f: FILE; time: LONGINT);
  22.  
  23. IMPLEMENTATION
  24.  
  25. FUNCTION Z_OpenFile(VAR f: FILE; pathname: STRING): BOOLEAN;
  26. BEGIN {$I-}
  27.    Assign(f,pathname);
  28.    Reset(f,1);
  29.    Z_OpenFile := (IOresult = 0)
  30. END; {$I+}
  31.  
  32. FUNCTION Z_MakeFile(VAR f: FILE; pathname: STRING): BOOLEAN;
  33. BEGIN {$I-}
  34.    Assign(f,pathname);
  35.    ReWrite(f,1);
  36.    Z_MakeFile := (IOresult = 0)
  37. END; {$I+}
  38.  
  39. PROCEDURE Z_CloseFile(VAR f: FILE);
  40. BEGIN {$I-}
  41.    Close(f);
  42.    IF (IOresult <> 0) THEN
  43.       { ignore this error }
  44. END; {$I+}
  45.  
  46. FUNCTION Z_SeekFile(VAR f: FILE; fpos: LONGINT): BOOLEAN;
  47. BEGIN {$I-}
  48.    Seek(f,fpos);
  49.    Z_SeekFile := (IOresult = 0)
  50. END; {$I+}
  51.  
  52. FUNCTION Z_WriteFile(VAR f: FILE; VAR buff; bytes: WORD): BOOLEAN;
  53. BEGIN {$I-}
  54.    BlockWrite(f,buff,bytes);
  55.    Z_WriteFile := (IOresult = 0)
  56. END; {$I+}
  57.  
  58. FUNCTION Z_ReadFile(VAR f: FILE; VAR buff; btoread: WORD; VAR bread: WORD): BOOLEAN;
  59. BEGIN {$I-}
  60.    BlockRead(f,buff,btoread,bread);
  61.    Z_ReadFile := (IOresult = 0)
  62. END; {$I+}
  63.  
  64. FUNCTION Z_FindFile(pathname: STRING; VAR name: STRING; VAR size, time: LONGINT): BOOLEAN;
  65. VAR
  66.    sr: SearchRec;
  67. BEGIN {$I-}
  68.    FindFirst(pathname,Archive,sr);
  69.    IF (DosError <> 0) OR (IOresult <> 0) THEN
  70.    BEGIN
  71.       Z_FindFile := FALSE;
  72.       Exit
  73.    END;
  74.    name := sr.Name;
  75.    size := sr.Size;
  76.    time := sr.Time;
  77.    Z_FindFile := TRUE
  78. END; {$I+}
  79.  
  80. PROCEDURE Z_SetFTime(VAR f: FILE; time: LONGINT);
  81. BEGIN {$I-}
  82.    SetFTime(f,time);
  83.    IF (IOresult <> 0) THEN
  84.       {null}
  85. END; {$I+}
  86.  
  87. END.
  88.