急...,用递归的方法删除空的目录?如何现实的?

解决方案 »

  1.   

    //用这个函数去实现
    Function TForm1.DelTree(DirName : string): Boolean;
    var
      SHFileOpStruct : TSHFileOpStruct;
      DirBuf : array [0..255] of char;
    begin
      try
       Fillchar(SHFileOpStruct,Sizeof(SHFileOpStruct),0) ;
       FillChar(DirBuf, Sizeof(DirBuf), 0) ;
       StrPCopy(DirBuf, DirName);
       with SHFileOpStruct do begin
        Wnd := 0;
        pFrom := @DirBuf;
        wFunc := FO_DELETE;
        fFlags := FOF_ALLOWUNDO;
        fFlags := fFlags or FOF_NOCONFIRMATION;
        fFlags := fFlags or FOF_SILENT;
       end; 
        Result := (SHFileOperation(SHFileOpStruct) = 0) ;
       except
        Result := False;
      end;
    end;