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
Sorry , wenn ich nerve. Es ist aber wichtig.
Ich habe es jetzt soweit abgeändert.
void CDateiWaehlen::Findverzeichnis(char* drive)
{
//root des trees ermitteln
(1) HTREEITEM *pItem = m_Baumstruktur.GetRootItem();
//suche starten
FindRecursivVerzeichnis(drive,*pItem);
}
void CDateiWaehlen::FindRecursivVerzeichnis( char *pszDir, HTREEITEM pNode)
{
CFileFind finder;
bool bWorking = finder.FindFile("*.*");
while (bWorking)
{
bWorking = finder.FindNextFile();
if (finder.IsDots())
{
//tue nichts
}else
{
if ( finder.IsDirectory())
{
HTREEITEM *item = new HTREEITEM(); //Todo mit Info füllen
(2),(3) pNode->AddChild( item);
(4) FindRecursivVerzeichnis(*finder.GetFilePath(), pNode);
}else
{
HTREEITEM *item = new HTREEITEM(); //Todo mit Info füllen
(5)(6) pNode->AddChild( item);
}
}
}
}
Meine Fehler sind in kurzen Stichpunkten:
(1) struct _TREEITEM *' kann nicht in 'struct _TREEITEM ** ' konvertiert werden
(2) Verwendung des undefinierten Typs "_TREEITEM"
(3) Der linke Teil von '->AddChild' muss auf Klasse/Struktur/Union zeigen
(4)FindRecursivVerzeichnis' : Konvertierung des Parameters 1 von 'const char' in 'char *' nicht moeglich
(5)= (3)
(6) =(2)
Ich weiß es ist viel, aber ich sehe voll auf dem Schlauch.
Cu
Oli