bestlong 怕失憶論壇

標題: 刪除整個資料夾 [打印本頁]

作者: bestlong    時間: 2009-12-17 09:33     標題: 刪除整個資料夾

RmDir() 與 RemoveDirectory() 都只能刪除空資料夾,想直接刪除有包含資料的整個目錄可以用下列程式:
  1. function DelTree(DirName: string):Boolean;
  2. var
  3.   SHFileOpStruce: TSHFileOpStruct;
  4.   DirBuff: array[0..255] of Char;
  5. begin
  6.   try
  7.     FillChar(SHFileOpStruce, SizeOf(SHFileOpStruce), 0);
  8.     FillChar(DirBuff, SizeOf(DirBuff), 0);
  9.     StrPCopy(DirBuff, DirName);
  10.     with SHFileOpStruce do
  11.     begin
  12.       Wnd := 0;
  13.       pFrom := @DirBuff;
  14.       wFunc := FO_DELETE;
  15.       fFlags := FOF_ALLOWUNDO;
  16.       fFlags := fFlags or FOF_NOCONFIRMATION;
  17.       fFlags := fFlags or FOF_SILENT;
  18.     end;
  19.     Result := (SHFileOperation(SHFileOpStruce)=0);
  20.   except
  21.     Result := False;
  22.   end;
  23. end;
複製代碼
程式來源 http://delphi.about.com/cs/adptips1999/a/bltip1199_2.htm




歡迎光臨 bestlong 怕失憶論壇 (http://www.bestlong.idv.tw/) Powered by Discuz! X1.5