如何删除一个指定的目录。(50分)

  • 主题发起人 主题发起人 qgz
  • 开始时间 开始时间
Q

qgz

Unregistered / Unconfirmed
GUEST, unregistred user!
在delphi中,如何删除一个指定的目录,
要将整个指定的目录删除,而不是先删除目录下的子目录中的文件,再删除子目录。
 
deltree path
DOS外部命令
 
RmDir
一个Delphi函数
 
function DelDirectory(const Source:string): boolean;
var
fo: TSHFILEOPSTRUCT;
begin
FillChar(fo, SizeOf(fo), 0);
with fo do
begin
Wnd := 0;
wFunc := FO_DELETE;
pFrom := PChar(source+#0);
pTo := #0#0;
fFlags := FOF_NOCONFIRMATION+FOF_SILENT;
end;
Result := (SHFileOperation(fo) = 0);
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var
myrec:TSHFILEOPSTRUCT ;
begin
With myrec DO Begin
Wnd:= Handle;
wFunc:= FO_DELETE;
pFrom:= 'c:/aaa';
pTo:='';
fFlags:= FOF_NOCONFIRMATION or FOF_FILESONLY;
fAnyOperationsAborted:= False;
hNameMappings:= Nil;
lpszProgressTitle:= Nil;
end;
SHFileOperation(myrec);
end;
 
看这个.
procedure DeleteDirectory(const Path,WindowTitle:string);
Var T:TSHFileOpStruct;
begin
With T do Begin
Wnd:=0;
wFunc:=FO_DELETE;
pFrom:=Pchar(Path);
pTo:=nil;
///fFlags:=FOF_ALLOWUNDO+FOF_NOCONFIRMATION+FOF_NOERRORUI;//标志表明允许恢复,无须确认并不显示出错信息
fFlags:=FOF_NOCONFIRMATION+FOF_NOERRORUI;//标志表明允许恢复,无须确认并不显示出错信息
hNameMappings:=nil;
lpszProgressTitle:=pchar(WindowTitle);
fAnyOperationsAborted:=False;
End;
SHFileOperation(T);
end;
 
用Winexec执行Deltree.exe
 
哈,居然有人用deltree,如果发布程序的时候,岂不是要连同deltree一起发布?[:)]
 
其实楼上那些讲的用shell operater的方法挺不错的,我开始没想到
 
后退
顶部