全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2074
推到 Plurk!
推到 Facebook!

請問如何知道一個目錄下有多少Files?

答題得分者是:pedro
ralph
初階會員


發表:41
回覆:82
積分:29
註冊:2003-02-04

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-03-14 10:07:55 IP:67.64.xxx.xxx 未訂閱

請問如何知道一個目錄下有多少Files?

我如何將這些檔名寫在一個TEXT?

謝謝!
pedro
尊榮會員


發表:152
回覆:1187
積分:892
註冊:2002-06-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-03-14 10:30:20 IP:60.248.xxx.xxx 未訂閱
 使用FindFirst,FindNext,
搜尋一下Ktop便可查到一些您要的資料
http://delphi.ktop.com.tw/board.php?cid=168&fid=912&tid=55438
ps:我用Delphi,手上沒有BCB,無法幫你測試


(1)使用 Win32 API FindFirtFile, FindNextFile 或 BCB 提供的
FindFirst/FindNext 都可以達到目的
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=21826
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=44866
(2)例如:
AnsiString szDir="C:\\temp";
TSearchRec SearchRec;
int iAttr=faAnyFile;
int iFound=0;
int iCount=0;
AnsiString szFile="";

if(!DirectoryExists(szDir))
{
return;
}
if(szDir.SubString(szDir.Length(), 1)!="\")
{
szDir=szDir "\";
}
iFound=FindFirst(szDir "*.*", iAttr, SearchRec);
while(iFound==0)
{
if(SearchRec.Attr!=faDirectory)
{
szFile=szDir (AnsiString)SearchRec.Name;
Memo1->Lines->Add(szFile);
iCount ;
}
iFound=FindNext(SearchRec);
Application->ProcessMessages();
}
FindClose(SearchRec);
ShowMessage("Total " IntToStr(iCount) " files!");
renard
一般會員


發表:3
回覆:43
積分:24
註冊:2007-06-29

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-07-23 10:40:46 IP:220.133.xxx.xxx 訂閱
這樣比較簡單吧,想太多囉...cc

FileListBox1->Directory="C:\\";
AnsiString record=ExtractFilePath(Application->ExeName) "record.txt";

TStringList *sl=new TStringList;

for(int i=0; iItems->Count; i )
sl->Add(FileListBox1->Items->Strings[i]);

sl->SaveToFile(record);

delete sl;

P.S. Copy for迴圈時,怎麼第二個條件參數會漏字呢?
編輯記錄
renard 重新編輯於 2007-07-23 10:42:07, 註解 無‧
renard 重新編輯於 2007-07-23 10:44:29, 註解 無‧
系統時間:2024-03-29 10:11:22
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!