檔名與萬用字元的比對函數? |
答題得分者是:RaynorPao
|
builder78
初階會員 發表:36 回覆:100 積分:47 註冊:2003-02-03 發送簡訊給我 |
|
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: 在API或BCB函數中 有無檔案名稱與萬用字元的比對函數呢 ? 例如:有一個函數 參數一放file_name 參數二放萬用字元 然後傳回 bool 來判斷檔名是否符合萬用字元~ 有無此種現成的函數?? (最好是現成的) 因為我寫了一個尋找特定目錄下(包含子目錄)的特定檔案(特定檔名與特定屬性)的程式 只要有這種萬用字元比對函數就完成了~~builder78 你好: 依照慣例~~我還是聽不太懂您的意思< > 能不能解釋得更清楚一點呢??< > -- Enjoy Researching & Developing --
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
builder78
初階會員 發表:36 回覆:100 積分:47 註冊:2003-02-03 發送簡訊給我 |
|
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: 因為我要寫一個可以利用萬用字元格式來搜尋檔案名稱的程式 所以我需要一個檔案名稱與萬用字元的比對函數 例如: if ( Fun("test.zip","te*.zi?") ) //參數一放file_name,參數二放萬用字元 ShowMessage("找到了您要的檔案") else ShowMessage("找不到你要的檔案") 至於目錄的搜尋遞迴我都會寫~所以就差找不到上面的那種函數builder78 你好: 可是在你上一個問題中使用的 Find... 不是就可以用萬用字元了嗎??< > 那為什麼還要另外再寫一個呢??< > 備註: Win32 API 中有一個類似的函式 FindFirstFile, FindNextFile 你可以查詢 M$DN 中的說明及用法 http://msdn.microsoft.com/library/default.asp 另外~~以下這個連結中也有我之前寫的 sample code (參考看看)
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
builder78
初階會員 發表:36 回覆:100 積分:47 註冊:2003-02-03 發送簡訊給我 |
FindFirstFile, FindNextFile 我會用但~ -__-|| 其實我已經寫好了一個檔案搜尋函數~ 但這函數無法使用萬用字元來搜尋檔名~
所以我才會想問有無那種函數~ 以下是我的程式碼~ 幫我看看要怎改~ 才可以
讓它支援萬用字元 void __fastcall TForm1::search_files(String dir)
{
TSearchRec SearchRec;
int iAttributes = faReadOnly | faHidden;
int found; if (!DirectoryExists(dir))
{
ShowMessage("無此目錄");
return;
} if ( dir.SubString(dir.Length(),1) != "\\") //若目錄後沒加"\"幫忙加上
dir=dir "\\"; found = FindFirst(dir "*.*" , faAnyFile , SearchRec); while( found == 0 )
{
if (SearchRec.Attr == faDirectory) //若是目錄
{
if ((SearchRec.Name!=".") && (SearchRec.Name!="..")) //不是.與..兩個目錄
{
search_files(dir SearchRec.Name); //遞迴呼叫
}
}
else //若是檔案
{
/* 就是這裡 我想要放萬用字元與檔案名稱比對的函數!! */
if((iAttributes & SearchRec.Attr) == iAttributes) //比對屬性
{
Memo1->Lines->Add(SearchRec.Name);
}
}
found = FindNext(SearchRec); //再找找看有無目錄或檔案
}
FindClose(SearchRec);
}
|
builder78
初階會員 發表:36 回覆:100 積分:47 註冊:2003-02-03 發送簡訊給我 |
|
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
|
builder78
初階會員 發表:36 回覆:100 積分:47 註冊:2003-02-03 發送簡訊給我 |
|
領航天使
站長 發表:12216 回覆:4186 積分:4084 註冊:2001-07-25 發送簡訊給我 |
|
builder78
初階會員 發表:36 回覆:100 積分:47 註冊:2003-02-03 發送簡訊給我 |
|
領航天使
站長 發表:12216 回覆:4186 積分:4084 註冊:2001-07-25 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |