home *** CD-ROM | disk | FTP | other *** search
- {**********************************************************************}
- {* C O P Y F I L E . 2 0 0 *}
- {* *}
- {* Separate this file out into an Include COPYFILE.200 *}
- {**********************************************************************}
-
- {----------------------------------------------------------------------}
- { C o p y F i l e : Copy input file to output file }
- {----------------------------------------------------------------------}
- Procedure CopyFile(Input_File,Output_File :ParmString;
- var Return_Code :integer);
- Const
- RecordSize = 128 ;
- RecordNum = 200 ;
- Type
- HeapBuffer = array[1..RecordSize,1..RecordNum] of byte;
- Var
- FileIn,FileOut : File;
- HeapPtr : ^HeapBuffer;
- RecordCount :integer;
- Begin
- Assign(FileIn,Input_File);
- Assign(FileOut,Output_File);
- {$I-} Reset(FileIn); {$I+}
- Return_Code := IOresult;
- If (Return_Code = 0) then { If input File exists then }
- Begin { create the output file }
- Writeln(' Creating ',Output_File );
- ReWrite(FileOut);
- New(HeapPtr);
-
- Repeat
- Blockread(FileIn,HeapPtr^,RecordNum,RecordCount);
- Blockwrite(FileOut,HeapPtr^,RecordCount);
- Until RecordCount = 0;
-
- Dispose(HeapPtr);
- End;
-
- Close(FileIn);Close(FileOut);
- End; { CopyFile }
- {......................................................................}