您的位置:首页 > 其它

遍历文件夹下内容

2015-07-14 11:16 197 查看
void __fastcall TFormBdsManager::FindDir(char* parent,String  ExPandName)
{
HANDLE hFile = NULL;
WIN32_FIND_DATA fd = {0};
String Parerntstr=AnsiString(parent)+"\\*.*";
hFile = ::FindFirstFile(Parerntstr.c_str(), &fd);
if(hFile != INVALID_HANDLE_VALUE)
{
do
{
int temp=fd.dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY;
if(temp)
{

if (AnsiString(fd.cFileName)==".")
{
continue;
}
if (AnsiString(fd.cFileName)=="..")
{
continue;
}
char UseFileName[500];
StrCopy(UseFileName,fd.cFileName);
String Parerntstr1=AnsiString(parent)+"\\"+AnsiString(fd.cFileName);
FindDir(Parerntstr1.c_str(),ExPandName);
}
else
{
String Exd=ExtractFileExt(AnsiString(fd.cFileName));
String Fullfilename=AnsiString(fd.cFileName);
if (Exd!=".fxd")         // if (filename.Pos(".fxd")<=0)
{
continue;
}
String name=GetFileNameNoExe(Fullfilename);
if (GetfileIsOneServer(name))
{
continue;

}
BdsInfo * temp=new BdsInfo();
memset(temp->BdsName,0,sizeof(temp->BdsName));
StrCopy(temp->BdsName,name.c_str());
temp->LastModifyTime=GetDirLastTime(AnsiString(parent)+"\\"+AnsiString(fd.cFileName));
temp->ComeForm=0;
TListItem *itemuse=lvList->Items->Add();
itemuse->Caption=IntToStr(itemuse->Index);
itemuse->Data=temp;
UseBdsInfo.push_back(*temp);
}
}while(FindNextFile(hFile, &fd));
FindClose(hFile);
hFile = NULL;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: