Jokerjar

BANNED | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору procedure CopyFile(file1,file2: string); var FromF, ToF: file; NumRead, NumWritten: Integer; Buf: array[1..2048] of Char; begin begin AssignFile(FromF, file1); Reset(FromF, 1); AssignFile(ToF, File2); Rewrite(ToF, 1); repeat BlockRead(FromF, Buf, SizeOf(Buf), NumRead); BlockWrite(ToF, Buf, NumRead, NumWritten); until (NumRead = 0) or (NumWritten <> NumRead); CloseFile(FromF); CloseFile(ToF); end; end; Можно увеличить размер буфера, это позволит считывать файл большими кусками. В принципе очень быстро работает, минусы: при копировании большого файла программа будет тормозить (возможно, следует запускать процедуру в отдельном потоке). |