function KopirowatFajl(staroe_imya, nowoe_imya: string): boolean;
const MaxBufSize=$F000;
var H1, H2, Count: integer;
Buffer: pChar;
begin
Result:=false;
H1:=FileOpen(staroe_imya, 64);
If H1<0 then
Exit;
H2:=FileCreate(nowoe_imya);
If H2<0 then
begin
FileClose(H1);
Exit;
end;
Result:=true;
FileSeek(H1, 0, 0);
GetMem(Buffer, MaxBufSize);
try
Repeat
Count:=FileRead(H1, Buffer^, MaxBufSize);
If Count>0 then
FileWrite(H2, Buffer^, Count);
Until Count<=0;
finally
FreeMem(Buffer, MaxBufSize);
FileClose(H1);
FileClose(H2);
end;
end;
где
staroe_imya - старое имя файла (исходный файл);
nowoe_imya - новое имя файла (конечный файл).
Например, KopirowatFajl('E:\123.txt', 'E:\tmp\456.txt') выведет положительное значение, если файл скопирован успешно, или отрицательное значение, если файл не удалось скопировать (исходный файл отсутствует, доступ запрещен, нет конечной папки или другие причины).
|