Hallo, ich bin leider Anfänger mit Visual C++. Ich wollte nur wissen wie man einen Ordner nach einem Dateityp (bei mir: ".ttf") durchsucht. Allerdings sollten auch Unterordner durchsucht werden. Bei C++Builder habe ich das folgendermaßen realisiert:
Vielen Dank für die Hilfe!
Code:
TStringList *OrdnerDurchsuchen(String Ordnername, bool UnterordnerDurchsuchen) { TStringList *Dateiliste=new TStringList; TStringList *Ordnerliste=new TStringList; Ordnerliste->Add(ExcludeTrailingBackslash(Ordnername)); DIR *Ordner; struct dirent *Objekt; //--- Alle Ordner Extrahieren ---// while(Ordnerliste->Count>0) { Ordner=opendir(Ordnerliste->Strings[0].c_str()); if(Ordner==NULL)return NULL; while((Objekt=readdir(Ordner))!=NULL) { Application->ProcessMessages(); if(Abbrechen==true) break; if(AnsiString(Objekt->d_name).SubString(1,1)!=".") { if(DirectoryExists(Ordnerliste->Strings[0]+"\\"+Objekt->d_name)==true) //Wenn es ein Ordner ist Ordnerliste->Add(Ordnerliste->Strings[0]+"\\"+Objekt->d_name); else if((FileExists(Ordnerliste->Strings[0]+"\\"+Objekt->d_name)==true)&&(LowerCase(ExtractFileExt(Ordnerliste->Strings[0]+"\\"+Objekt->d_name))==".ttf")) //Wenn es eine Datei ist Dateiliste->Add(Ordnerliste->Strings[0]+"\\"+Objekt->d_name); } } Ordnerliste->Delete(0); } //--- Erfolg zurückgeben und Ordner schließen ---// delete Ordnerliste; if (closedir(Ordner)==-1)return NULL; return Dateiliste; } //---------------------------------------------------------------------------
Comment