在delphi中怎样删除一个文件夹(很可能里面有很多子文件夹和文件)?
------------------------------------------------------------------
期待着您得回应

解决方案 »

  1.   

    递归调用:
    1、声明TSearchRec变量
    2、对其FindFirst,如果TSearchRec变量的Name为目录则递归调用本函数,之后删除本目录;是文件则直接删除文件
    3、对其FindNext直到返回0
    4、最后FindCloseTSearchRec变量
      

  2.   

    来自:kingdeezj:
    使用shfileoperation函数恐怕是最简单的办法了吧?还有人有更简单的办法吗?
    uses shellapi;{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);Var  T:TSHFileOpStruct;  P:String;begin  P:='d:\address';//这里改成你要删除的任意目录名  With T do  Begin  Wnd:=0;  wFunc:=FO_DELETE;  pFrom:=Pchar(P);  pTo:=nil;  fFlags:=FOF_ALLOWUNDO+FOF_NOCONFIRMATION+FOF_NOERRORUI;//标志表明允许恢复,无须确认并不显示出错信息  hNameMappings:=nil;  lpszProgressTitle:='正在删除文件夹';  fAnyOperationsAborted:=False;  End;  SHFileOperation(T);end;