不知道大家有没有发现这一个问题?
heimi 2004-08-21 12:52:05 void FindDocFile(const AnsiString subpath, TListView *ListView1);
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
ListView1->Clear();
FindBmpFile("c:\\", ListView1);
ListView1->Refresh();
}
//---------------------------------------------------------------------------
void FindDocFile(const AnsiString subpath, TListView *ListView1)
{
TListItem *pItem; // 用于添加满足条件的项到 ListView1
TSearchRec sr;
AnsiString path=subpath;
AnsiString fullPath=path+"*.*";
if(FindFirst(fullPath,faAnyFile,sr)==0)//虽然我这里用的参数是faAnyFile,但是
//没有和Windows自带的搜索出来的一样多。
//比如说有的存档文件它不搜索?真的,大家不信
//的话可以看看!不知道大家有没有解决这个问题!
{
AnsiString ls_filename=path+sr.Name;
if(sr.Attr!=faDirectory)
{
if (ExtractFileExt(sr.Name).LowerCase()==".bmp")
{
pItem=ListView1->Items->Add();
pItem->Caption=ls_filename;
}
}
else if(AnsiString(sr.Name)!="." && AnsiString(sr.Name)!="..")
{
FindDocFile(ls_filename + "\\", ListView1);
}
}
while(FindNext(sr)==0)
{
AnsiString ls_filename=path+sr.Name;
if(sr.Attr!=faDirectory)
{
if (ExtractFileExt(sr.Name).LowerCase()==".bmp")
{
pItem=ListView1->Items->Add();
pItem->Caption=ls_filename;
}
}
else if(AnsiString(sr.Name)!="." && AnsiString(sr.Name)!="..")
{
FindDocFile(ls_filename + "\\", ListView1);
}
}
FindClose(sr);
}
//---------------------------------------------------------------------------