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

檔名與萬用字元的比對函數?

答題得分者是:RaynorPao
builder78
初階會員


發表:36
回覆:100
積分:47
註冊:2003-02-03

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-02-08 02:30:56 IP:210.85.xxx.xxx 未訂閱
在API或BCB函數中 有無檔案名稱與萬用字元的比對函數呢 ? 例如:有一個函數 參數一放file_name 參數二放萬用字元 然後傳回 bool 來判斷檔名是否符合萬用字元~ 有無此種現成的函數?? (最好是現成的) 因為我寫了一個尋找特定目錄下(包含子目錄)的特定檔案(特定檔名與特定屬性)的程式 只要有這種萬用字元比對函數就完成了~~
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-02-08 14:06:56 IP:61.221.xxx.xxx 未訂閱
引言: 在API或BCB函數中 有無檔案名稱與萬用字元的比對函數呢 ? 例如:有一個函數 參數一放file_name 參數二放萬用字元 然後傳回 bool 來判斷檔名是否符合萬用字元~ 有無此種現成的函數?? (最好是現成的) 因為我寫了一個尋找特定目錄下(包含子目錄)的特定檔案(特定檔名與特定屬性)的程式 只要有這種萬用字元比對函數就完成了~~
builder78 你好: 依照慣例~~我還是聽不太懂您的意思< > 能不能解釋得更清楚一點呢??< > -- Enjoy Researching & Developing --
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
builder78
初階會員


發表:36
回覆:100
積分:47
註冊:2003-02-03

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-02-08 14:58:04 IP:210.85.xxx.xxx 未訂閱
因為我要寫一個可以利用萬用字元格式來搜尋檔案名稱的程式 所以我需要一個檔案名稱與萬用字元的比對函數 例如: if ( Fun("test.zip","te*.zi?") ) //參數一放file_name,參數二放萬用字元 ShowMessage("找到了您要的檔案") else ShowMessage("找不到你要的檔案") 至於目錄的搜尋遞迴我都會寫~所以就差找不到上面的那種函數
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-02-08 15:06:57 IP:61.221.xxx.xxx 未訂閱
引言: 因為我要寫一個可以利用萬用字元格式來搜尋檔案名稱的程式 所以我需要一個檔案名稱與萬用字元的比對函數 例如: 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

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-02-08 15:57:09 IP:210.85.xxx.xxx 未訂閱
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

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-02-09 20:04:55 IP:210.85.xxx.xxx 未訂閱
恩~ 被我想出來了~~ 只要再用FindFirst去比較即可~~^^
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-02-09 20:05:14 IP:61.221.xxx.xxx 未訂閱
引言: 其實我已經寫好了一個檔案搜尋函數~ 但這函數無法使用萬用字元來搜尋檔名~ 所以我才會想問有無那種函數~ 以下是我的程式碼~ 幫我看看要怎改~ 才可以 讓它支援萬用字元
builder78 你好: 以下這個 function 應該就是你要的吧 <>>
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
builder78
初階會員


發表:36
回覆:100
積分:47
註冊:2003-02-03

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-02-09 20:11:57 IP:210.85.xxx.xxx 未訂閱
哇~~ 版主與我的發言只差10 秒~ 可是我已經先結案了耶~~ 無法給分了~ 不好意思阿~~ 早知有那種函數~ 就簡單了~ 我是用複雜的辦法~ 用FindFirst再去比較一次~
領航天使
站長


發表:12216
回覆:4186
積分:4084
註冊:2001-07-25

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-02-09 20:32:41 IP:210.202.xxx.xxx 未訂閱
引言: 哇~~ 版主與我的發言只差10 秒~ 可是我已經先結案了耶~~ 無法給分了~ 不好意思阿~~ 早知有那種函數~ 就簡單了~ 我是用複雜的辦法~ 用FindFirst再去比較一次~
站長又改回未結案, 再給您一次機會給分! ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~
builder78
初階會員


發表:36
回覆:100
積分:47
註冊:2003-02-03

發送簡訊給我
#10 引用回覆 回覆 發表時間:2003-02-09 20:49:45 IP:210.85.xxx.xxx 未訂閱
謝謝站長~~ 但我分數給RaynorPao版主 後發現不論按幾次~ 都無法結案耶 怎會這樣?
領航天使
站長


發表:12216
回覆:4186
積分:4084
註冊:2001-07-25

發送簡訊給我
#11 引用回覆 回覆 發表時間:2003-02-09 22:05:33 IP:192.168.xxx.xxx 未訂閱
引言: 謝謝站長~~ 但我分數給RaynorPao版主 後發現不論按幾次~ 都無法結案耶 怎會這樣?
了解,我明天再試看看,好了再告訴您! ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~
系統時間:2024-04-20 19:52:55
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!