Hallo.
Ich habe folgendes Problem. In meinem Programm kann man bis jetzt eine Dateiendung und ein Laufwerk wählen. Nun will ich im gewählten Laufwerk die Ordner anzeigen lassen. Wählt man einen angezeigten Ordner sollen die Unterordner oder alle Datei mit der gewünschten dateiendung angezeigt werden.
Die Verzeichnisstruktur soll in einem Element des Types CTreeCtrl angezeigt werden. Das einlesen des Laufwerkes mache ich mit der Finktion CFileFind::FileFind.
Hat irgend jemand damit schon Erfahrungen gesammeltund kann mit Tipps oder Ratschläge geben?
Bin für jeden Hinweis bbzw. Tip dankebar, ich weiß langsam nicht mehr weiter.
Cu Oli
Programmieren - alles kontrollieren 4.934 Themen, 20.613 Beiträge
nur mal so hingeschrieben und nicht gestestet: tut aber prinzipiell das was du willst:
void Start()
{
// root des trees ermitteln
TreeItem* pItem = TreeCtrl.GetRoot();
// suche starten
FindRecursive( "c:\\", pItem);
}
void FindRecursiv( char* pszDir, TreeItem* pNode)
{
CFileFind finder;
BOOL bWorking = finder.FindFile("*.*");
while (bWorking)
{
bWorking = finder.FindNextFile();
if( finder.IsDots()) { /* ignore */ }
else if( finder.rIsDirectory()
{
TreeItem item = new TreeItem(); // TODO: mit info fuellen
pNode->AddChild( item);
FindRecursive( finder.GetFilePath(), pNode)
}
else
{
TreeItem item = new TreeItem(); // TODO: mit info fuellen
pNode->AddChild( item);
}
}
}
WM_HOPETHISHELPS