2024年3月28日发(作者:)

delphi 文件、文件夹删除移动和拷贝

delphi文件、文件夹删除移动和拷贝2010-12-21 19:01

文件删除、移动和拷贝。

function WinErasefile(Owner:Integer;WichFiles:string;

SendToRecycleBin,Confirm:Boolean):Boolean;

//用于将文件直接删除或移动到回收站

var Struct:TSHFileOpStructA;

begin FillChar(Struct,SizeOf(Struct),0);

While pos(';',WichFiles)0 do WichFiles[pos(';',WichFiles)]:=#0;

WichFiles:=WichFiles+#0#0;

with Struct do begin wnd:=Owner;

wFunc:=FO_Delete;

pFrom:=PChar(WichFiles);

pTo:=nil;

If not Confirm then fFlags:=FOF_NOCONFIRMATION;

If SendToRecycleBin then fFLags:=fFlags or FOF_ALLOWUNDO or

FOF_FILESONLY else fFlags:=fFlags or 0or FOF_FILESONLY;

hNameMappings:=nil;

lpszProgressTitle:=nil;

end;

result:=(SHFileOperationA(Struct)=0)and(not

erationsAborted);

end;

function WinErasepath(Owner:Integer;WichFiles:string;

SendToRecycleBin,Confirm:Boolean):Boolean;

//用于将目录直接删除或移动到回收站

var Struct:TSHFileOpStructA;

begin FillChar(Struct,SizeOf(Struct),0);

While pos(';',WichFiles)0 do WichFiles[pos(';',WichFiles)]:=#0;

WichFiles:=WichFiles+#0#0;

with Struct do begin wnd:=Owner;

wFunc:=FO_Delete;

pFrom:=PChar(WichFiles);

pTo:=nil;

If not Confirm then fFlags:=FOF_NOCONFIRMATION;

If SendToRecycleBin then fFLags:=fFlags or FOF_ALLOWUNDO else

fFlags:=fFlags or 0or FOF_FILESONLY;

hNameMappings:=nil;

lpszProgressTitle:=nil;

end;