Y
probier das mal
void __fastcall TfrmSUPPORTSTATUS::GetFileList(TList*Liste,String StartDirectory,TStringList *asSEARCHFILES,bool casesensitive,bool writelog)
{
TSearchRec sr;
String Directory;
AnsiString Source;
AnsiString Target;
int result=FindFirst((StartDirectory + "*.*").c_str(), faReadOnly|faHidden|faDirectory, sr );
while(result==0)
{
Application->ProcessMessages();
for(int i=0;i<=asSEARCHFILES->Count-1;i++)
{
if(!casesensitive)
{
Target = StartDirectory + (AnsiString)sr.Name;
Target = Target.UpperCase();
Source = asSEARCHFILES->Strings[i];
if(!strcmp(ExtractFileName(Target).c_str(),Source.c_str()))
{
// Nur kopieren, wenn es nicht genau der SourceFile ist.
if(Source != Target)
{
STARTPROGRAMM(Target);(Target);
}
}
}//if(!casesensitive)
else
{
if(!strcmp(asSRNAME.c_str(),(ExtractFileName(asSEARCHFILES->Strings[i])).c_str() ))
{
Target = StartDirectory + (AnsiString)sr.Name;
Source = asSEARCHFILES->Strings[i];
// Nur kopieren, wenn es nicht genau der SourceFile ist.
if(Source != Target)
{
STARTPROGRAMM(Target);
}
}
}//else
}
//LOGFILE_ADD("files.log",StartDirectory + "\\" + sr.Name);
Item->Path= StartDirectory;
Item->Data=sr;
Liste->Add(Item);
}
result=FindNext(sr);
}
FindClose(sr);
}