BCB如何搜尋"目錄" |
答題得分者是:dllee
|
windzero000
一般會員 發表:3 回覆:4 積分:1 註冊:2007-09-22 發送簡訊給我 |
以下程式碼是利用版上先進提供的架構梢做修改
void __fastcall TForm1::Button1Click(TObject *Sender) { //*************自動搜尋目錄****************** if (edtDir_name->Text != "") { //***********目錄_1,不可空白**************** AnsiString szDir=ExtractFilePath(Application->ExeName) edtDir_name->Text; //AnsiString s_1="\\"; TSearchRec SearchRec; int iAttr=faAnyFile;//檔案 int iDir=faDirectory;//目錄(測試) int iFound=0; int iCount=0;//檔案數量 AnsiString szFile=""; //*********Class 物件********* //read_summary read_1; //**************************** if(!DirectoryExists(szDir)) { Memo1->Lines->Add("此目錄不存在"); return; } else if (DirectoryExists(szDir)) { //**********目錄存在***************** //********開始時間************** edt_str_time->Text=Time(); //****************************** if(szDir.SubString(szDir.Length(), 1)!="\\") { szDir=szDir "\\"; } //iFound=FindFirst(szDir "*.*", iAttr, SearchRec); iFound=FindFirst(szDir "*.", iDir, SearchRec);//**************** while(iFound==0) { if(SearchRec.Attr!=faDirectory) { szFile=(AnsiString)SearchRec.Name;//szDir (AnsiString)SearchRec.Name; Memo1->Lines->Add(szFile); iCount ;//檔案數量 } iFound=FindNext(SearchRec); Application->ProcessMessages(); } FindClose(SearchRec); //********結束時間************** edt_end_time->Text=Time(); //****************************** ShowMessage("Total " IntToStr(iCount) " files!"); //Memo1->Lines->Add(iCount);//除錯用 } } else { Memo1->Lines->Add("請輸入目錄名稱"); } } 以上 將原本藍色部份(讀取檔案)改為紅色,還是無法搜尋到任何目錄... 是缺了什麼嗎? 請大家多多指教 |
dllee
站務副站長 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
要找目錄的話,只要改以下(原來的 *.* 不用改)
if(SearchRec.Attr!=faDirectory) // 只找不是目錄 改成 if(SearchRec.Attr==faDirectory) // 只找是目錄 如果您檔案及目錄都要找,就不需要這個 if 判斷了。 ■ Seednet ShareMe 免費網路硬碟, 申請送2G, 用 MSN 幫她打廣告加 10G, 推薦1人加 1G, 活動只到 9 月底, 請把握時機 ■
------
http://www.ViewMove.com |
windzero000
一般會員 發表:3 回覆:4 積分:1 註冊:2007-09-22 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |