請問搜尋檔案的問題 |
尚未結案
|
pig
一般會員 發表:15 回覆:2 積分:3 註冊:2003-03-22 發送簡訊給我 |
|
chtai
高階會員 發表:68 回覆:238 積分:116 註冊:2004-05-21 發送簡訊給我 |
以下是一段我自己在用的 code,用來找指定目錄下的指定副檔名。
你應該可以很容易的依你的需求再做修改
< class="code">
void TForm1::FindFilesInDirectory(String directory, String extension, bool searchSubdir)
{
WIN32_FIND_DATA filedata ; // Structure for file data
HANDLE filehandle ; // Handle for searching if( extension == "" )
extension = "*.*";
// Pass 1 - Search for the files within the directory.
filehandle = FindFirstFile((directory extension).c_str(), &filedata) ;
if( filehandle != INVALID_HANDLE_VALUE )
{
do
{
if( (filedata.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) == 0 )
{
// Display the file name.
TListItem *li = ListView1->Items->Add();
li->Caption = directory filedata.cFileName ;
// Display the file extension.
li->SubItems->Add(ExtractFileExt(filedata.cFileName));
Application->ProcessMessages() ;
}
} while(FindNextFile(filehandle, &filedata)) ;
FindClose(filehandle) ;
} if(searchSubdir) // If user wanna search subdirectories..
{
// Pass 2 - Search for all the subdirectories within this directory
filehandle = FindFirstFile ((directory "*.*").c_str (), &filedata) ;
if( filehandle != INVALID_HANDLE_VALUE)
{
do
{
if( (filedata.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) != 0 &&
String (filedata.cFileName) != "." && String (filedata.cFileName) != "..")
{
// Recursive call here
FindFilesInDirectory(directory filedata.cFileName "\\", extension, true) ;
}
Application->ProcessMessages() ;
} while(FindNextFile(filehandle, &filedata)) ;
FindClose(filehandle) ;
}
Application->ProcessMessages() ;
}
}
Good luck --
------
My Web: http://nelson.csie.us My Blog: http://blog.nelson.csie.us |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |