刚刚开始学习C++ Builder,就从指定目录下查找指定文件开始吧!
首先在E:\\test目录下创建了1.txt, 2.txt,3.txt,4.doc,然后需要通过C++ Builder从该目录下找到所有的.txt文件,并显示出来。
1、新建工程project1,添加一个新的单元Unit2。
2、在Unit1.dfm添加TListBox显示查找结果,添加一个按钮用来触发事件,调用查找函数。
3、按钮对应的事件函数中代码如下:
TStringList *p=lsdir("E:\\test","txt");//调用查找函数
ListBox1->Items->AddStrings(p);//显示到列表中
4、查找函数代码
TStringList* __fastcall lsdir(AnsiString cbl,AnsiString filetype)
{
TSearchRec sr;
TStringList* result = new TStringList();
String cdir;//为了保存完整路径
String path = cbl;
if(!FindFirst(path+"\\*."+filetype,faAnyFile,sr)) //第二个参数代表任何文件 ,成功返回0
{
do
{
if ( sr.Name!="."&&sr.Name!="..")//去掉这一句,会先查找到"."和".."
{
cdir=path+"\\"+sr.Name;
result->Add(cdir);
}
}
while (FindNext(sr)==0);
FindClose(sr);
}
ShowMessage(cdir);
return result;
result->Clear();
}
5、查找结果如图