没有没删除整个目录的函数? |
尚未結案
|
coldcoffee
一般會員 發表:60 回覆:22 積分:16 註冊:2003-05-23 發送簡訊給我 |
|
pgdennis
資深會員 發表:41 回覆:526 積分:443 註冊:2002-05-23 發送簡訊給我 |
可以這樣用,刪除C:\12這個資料夾,不管裡面有幾個資料夾或檔案
procedure TForm1.Button1Click(Sender: TObject); VAR FOS : TSHFileOpStruct; FromNames:string; begin FillChar(FOS, Sizeof(TShFileOpStruct), 0); FromNames := 'c:\12\*.*' #0; WITH FOS DO Begin Wnd := Self.Handle; wFunc := FO_DELETE; pFrom := PChar(FromNames); fFlags := FOF_NoConfirmation; End; ShFileOperation(FOS); RemoveDir('c:\12'); end;永遠追不上技術更新的速度
------
星期一,二...無窮迴圈@@ |
mathewzhao
中階會員 發表:121 回覆:164 積分:67 註冊:2003-04-04 發送簡訊給我 |
Hi!coldcoffee 您好!
參考下面的方法,看是否對您有幫助.
來源:http://delphi.about.com/cs/adptips1999/a/bltip1199_2.htm 《Delete folders recursively》
uses ShellAPI; Function 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; //使用 if DelTree('c:\TempDir') then ShowMessage('Directory deleted!') else ShowMessage('Errors occured!') ; |
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
coldcoffee您好:
在第34期的電子報bruce0211大哥所分享的目錄處理函式三則:_DelTree(),_XCopy(),_Move()您可以參考看看
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=41363 順心
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |