線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2587
推到 Plurk!
推到 Facebook!

刪除目錄問題

答題得分者是:RaynorPao
ptj
一般會員


發表:14
回覆:19
積分:11
註冊:2003-01-21

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-08-05 00:48:15 IP:61.217.xxx.xxx 未訂閱
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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-08-05 08:27:09 IP:203.73.xxx.xxx 未訂閱
引言: 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底下的目錄 路徑因該沒錯 可是我只能刪除中文命名的資料夾 英文和數字命名都有問題 不知因該如何改進 謝謝
ptj 你好: 你確定沒有問題嗎?? 請先檢查以下的項目 (
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
axsoft
版主


發表:681
回覆:1056
積分:969
註冊:2002-03-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-08-05 09:46:49 IP:61.218.xxx.xxx 未訂閱
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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-08-07 03:56:47 IP:61.217.xxx.xxx 未訂閱
謝謝兩位 問題解決了 的確是我的目錄路徑問題 所以只好把分數給予一位了
系統時間:2024-04-25 20:46:29
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!