Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.01.13;
Скачать: CL | DM;

Вниз

CopyFile   Найти похожие ветки 

 
iNew ©   (2003-12-26 07:15) [0]

function CopyFile(FileName, DestName: TFileName):Integer;
var
CopyBuffer: Pointer; { buffer for copying }
BytesCopied: Longint;
Source, Dest: Integer; { handles }
const
ChunkSize: Longint = 8192; { copy in 8K chunks }
begin
GetMem(CopyBuffer, ChunkSize); { allocate the buffer }
try
Source := FileOpen(FileName, fmShareDenyWrite); { open source file }
try
Dest := FileCreate(DestName); { create output file; overwrite existing }
if Dest < 0 then
try
repeat
BytesCopied := FileRead(Source, CopyBuffer^, ChunkSize); { read chunk }
if BytesCopied > 0 then { if we read anything... }
FileWrite(Dest, CopyBuffer^, BytesCopied); { ...write chunk }
until BytesCopied < ChunkSize; { until we run out of chunks }
finally
FlushFileBuffers(Dest);
FileClose(Dest); { close the destination file }
end;
finally
FlushFileBuffers(Source);
FileClose(Source); { close the source file }
end;
finally
FreeMem(CopyBuffer, ChunkSize); { free the buffer }
end;
Result:=GetLastError;
end;

Если в эту функцию вызвать например так: CopyFile(C:\from\qwerty.txt,C:\to\)
то Result=0, хотя копирования не произойдет. Как сделать так чтоб если
копирования не произошло то Result был >0


 
Palladin ©   (2003-12-26 08:26) [1]

А чем одноименная системная функция не устраивает?


 
Dimka Maslov ©   (2003-12-26 08:32) [2]

Конечно не произойдёт, раз путь к конечному файлу указан не полностью, руки чтоли отвалятся написать c:\to\qwerty.txt
Если всё-таки отваливаются сделай проверку для DestName и добавляй в него имя из FileName.
Или см. Palladin © (26.12.03 08:26) [1]


 
Рамиль ©   (2003-12-26 08:35) [3]


> Result:=GetLastError;

Возвращается ошибка от FreeMem.


 
Anatoly Podgoretsky ©   (2003-12-26 09:12) [4]

Palladin © (26.12.03 08:26) [1]
Тем что та рабочая.



Страницы: 1 вся ветка

Текущий архив: 2004.01.13;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.018 c
8-37809
Rastafarra
2003-09-07 22:37
2004.01.13
распознование цифр


1-37709
Kein
2003-12-25 18:11
2004.01.13
Звук


14-37901
}|{yk
2003-12-19 11:26
2004.01.13
MSDN


3-37521
Ренат
2003-12-16 16:08
2004.01.13
Помогите с простым запросом


11-37596
Babenko Alexey
2003-04-24 17:09
2004.01.13
ListView + OwnerDraw