刪除目錄問題 |
答題得分者是:RaynorPao
|
ptj
一般會員 發表:14 回覆:19 積分:11 註冊:2003-01-21 發送簡訊給我 |
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=26463
我照上面這篇討論改了一下
SHFILEOPSTRUCT oFile; ZeroMemory(&oFile, sizeof(SHFILEOPSTRUCT)); oFile.hwnd=Form1->Handle; oFile.wFunc=FO_DELETE; AnsiString z="c://" DirectoryListBox1->Items->Strings[DirectoryListBox1->ItemIndex]; oFile.pFrom=z.c_str(); oFile.fFlags=FOF_ALLOWUNDO | FOF_NOCONFIRMATION; SHFileOperation(&oFile);目的在刪除c底下的目錄 路徑因該沒錯 可是我只能刪除中文命名的資料夾 英文和數字命名都有問題 不知因該如何改進 謝謝 |
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: http://delphi.ktop.com.tw/topic.php?TOPIC_ID=26463 我照上面這篇討論改了一下ptj 你好: 你確定沒有問題嗎?? 請先檢查以下的項目 (SHFILEOPSTRUCT oFile; ZeroMemory(&oFile, sizeof(SHFILEOPSTRUCT)); oFile.hwnd=Form1->Handle; oFile.wFunc=FO_DELETE; AnsiString z="c:\\" DirectoryListBox1->Items->Strings[DirectoryListBox1->ItemIndex]; oFile.pFrom=z.c_str(); oFile.fFlags=FOF_ALLOWUNDO | FOF_NOCONFIRMATION; SHFileOperation(&oFile);目的在刪除c底下的目錄 路徑因該沒錯 可是我只能刪除中文命名的資料夾 英文和數字命名都有問題 不知因該如何改進 謝謝
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
axsoft
版主 發表:681 回覆:1056 積分:969 註冊:2002-03-13 發送簡訊給我 |
ptj您好: 試試這個方法:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/base/removedirectory.asp
bool removeDirectory(string fileName) { bool retVal =true; string nextFileName; WIN32_FIND_DATA foundFile; HANDLE hFile = FindFirstFile((fileName "\\*.*").c_str(),&foundFile); if(hFile != INVALID_HANDLE_VALUE) { do { //If a found file is . or .. then skip if(strcmp(foundFile.cFileName,".")!=0 && strcmp(foundFile.cFileName,"..")!=0) { //The path should be absolute path nextFileName = fileName "\\" foundFile.cFileName; //If the file is a directory if((foundFile.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)!=0) { removeDirectory(nextFileName.c_str()); RemoveDirectory(nextFileName.c_str()); } //If the file is a file else { DeleteFile(nextFileName.c_str()); } } } while(FindNextFile(hFile,&foundFile)!=0); } FindClose(hFile); //Delete starting point itseft if(RemoveDirectory(fileName.c_str())==0)retVal=false; return retVal; }HAVE A NICE DAY FOR YOU 發表人 - axsoft 於 2003/08/05 09:57:53 |
ptj
一般會員 發表:14 回覆:19 積分:11 註冊:2003-01-21 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |