home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Simtel MSDOS 1992 June
/
SIMTEL_0692.cdr
/
msdos
/
turbopas
/
tpzsfz.arc
/
TPZFILES.PAS
< prev
next >
Wrap
Pascal/Delphi Source File
|
1988-09-18
|
2KB
|
88 lines
UNIT TPZFiles;
(* File manipulation routines for Turbo Pascal Zmodem *)
(* (c)1988 by J.R.Louvau *)
INTERFACE
USES Dos;
FUNCTION Z_OpenFile(VAR f: FILE; pathname: STRING): BOOLEAN;
(* Return true if able to open an existing file *)
FUNCTION Z_MakeFile(VAR f: FILE; pathname: STRING): BOOLEAN;
(* Return true if able to create a file *)
PROCEDURE Z_CloseFile(VAR f: FILE);
(* Closes a file and ignores errors *)
FUNCTION Z_SeekFile(VAR f: FILE; fpos: LONGINT): BOOLEAN;
(* Find a byte position within a file *)
FUNCTION Z_WriteFile(VAR f: FILE; VAR buff; bytes: WORD): BOOLEAN;
(* Read a specified number of bytes from a file *)
FUNCTION Z_ReadFile(VAR f: FILE; VAR buff; btoread: WORD; VAR bread: WORD): BOOLEAN;
(* Search for a named file *)
FUNCTION Z_FindFile(pathname: STRING; VAR name: STRING; VAR size, time: LONGINT): BOOLEAN;
(* Set time and date of a file *)
PROCEDURE Z_SetFTime(VAR f: FILE; time: LONGINT);
IMPLEMENTATION
FUNCTION Z_OpenFile(VAR f: FILE; pathname: STRING): BOOLEAN;
BEGIN {$I-}
Assign(f,pathname);
Reset(f,1);
Z_OpenFile := (IOresult = 0)
END; {$I+}
FUNCTION Z_MakeFile(VAR f: FILE; pathname: STRING): BOOLEAN;
BEGIN {$I-}
Assign(f,pathname);
ReWrite(f,1);
Z_MakeFile := (IOresult = 0)
END; {$I+}
PROCEDURE Z_CloseFile(VAR f: FILE);
BEGIN {$I-}
Close(f);
IF (IOresult <> 0) THEN
{ ignore this error }
END; {$I+}
FUNCTION Z_SeekFile(VAR f: FILE; fpos: LONGINT): BOOLEAN;
BEGIN {$I-}
Seek(f,fpos);
Z_SeekFile := (IOresult = 0)
END; {$I+}
FUNCTION Z_WriteFile(VAR f: FILE; VAR buff; bytes: WORD): BOOLEAN;
BEGIN {$I-}
BlockWrite(f,buff,bytes);
Z_WriteFile := (IOresult = 0)
END; {$I+}
FUNCTION Z_ReadFile(VAR f: FILE; VAR buff; btoread: WORD; VAR bread: WORD): BOOLEAN;
BEGIN {$I-}
BlockRead(f,buff,btoread,bread);
Z_ReadFile := (IOresult = 0)
END; {$I+}
FUNCTION Z_FindFile(pathname: STRING; VAR name: STRING; VAR size, time: LONGINT): BOOLEAN;
VAR
sr: SearchRec;
BEGIN {$I-}
FindFirst(pathname,Archive,sr);
IF (DosError <> 0) OR (IOresult <> 0) THEN
BEGIN
Z_FindFile := FALSE;
Exit
END;
name := sr.Name;
size := sr.Size;
time := sr.Time;
Z_FindFile := TRUE
END; {$I+}
PROCEDURE Z_SetFTime(VAR f: FILE; time: LONGINT);
BEGIN {$I-}
SetFTime(f,time);
IF (IOresult <> 0) THEN
{null}
END; {$I+}
END.