标题:文件复制程序,调试时无法通过,请高手指导。
只看楼主
bccnwshmm
Rank: 2
等 级:论坛游民
帖 子:18
专家分:16
注 册:2015-11-20
结帖率:100%
 问题点数:0 回复次数:0 
文件复制程序,调试时无法通过,请高手指导。
下面的文件复制程序,调试时提示红字符无法通过,请高手看一看,到底错在什么地方?
procedure CopyFile(const FileName, DestName: TFileName);

var

CopyBuffer: Pointer;

TimeStamp, BytesCopied: Longint;

Source, Dest: Integer;

Destination: TFileName;

const

ChunkSize: Longint = 8192;

begin

Destination := ExpandFileName(DestName);

if HasAttr(Destination, faDirectory) then

Destination := Destination + '\' + ExtractFileName(FileName);


TimeStamp := FileAge(FileName);

GetMem(CopyBuffer, ChunkSize);

try

Source := FileOpen(FileName, fmShareDenyWrite);

if Source < 0 then

raise EFOpenError.Create(FmtLoadStr(SFOpenError, [FileName]));


try

Dest := FileCreate(Destination);

if Dest < 0 then

raise EFCreateError.Create(FmtLoadStr(SFCreateError,[Destination]));


try

repeat

BytesCopied := FileRead(Source, CopyBuffer^, ChunkSize);

if BytesCopied > 0 then

FileWrite(Dest, CopyBuffer^, BytesCopied);

until BytesCopied < ChunkSize;

finally

FileSetDate(Dest,TimeStamp);

FileClose(Dest);

end;

finally

FileClose(Source);

end;

finally

FreeMem(CopyBuffer, ChunkSize);

end;

end;


[此贴子已经被作者于2015-12-15 21:00编辑过]

搜索更多相关主题的帖子: procedure 
2015-12-15 20:58



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-460262-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.632527 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved