CFileFind::FindFile funktioniert nicht
-
Hi, ich hab folgendes Problem:
Ich versuche alle Dateien eines bestimmten Verzeichnisses in eine CStringList zu speichern. Komischerweise ist findet er anscheinend nur eine Datei, die aber so heißt wie der Projektordener.
D.h., dass er nicht im Angegeben Orderner, sondern im Projektorderner sucht. und dann auch nur nach einer Datei.Ich hoffe das war verständlich.
Vielleicht sagt der Coder für euch mehr...:// Durchsucht Directory nach Verzeichnissen und speichert gefundene mit Namen in einem Array bool CFileFinder::FindDirectories(CString sDirectory) { CString sPath = sDirectory + "*.*"; if(!m_filefind.FindFile(sPath)) { // Sicherheitsabfrage return false; } if(m_directorylist.IsEmpty() == false) { m_directorylist.RemoveAll(); } for(int i = 1;m_bFindDirectories == true;) { m_bFindDirectories = m_filefind.FindNextFile(); if(m_filefind.IsDirectory()) { i++; } } // Suche schließen m_filefind.Close(); //Pfade der Directories in Liste speichern m_bFindDirectories = m_filefind.FindFile(); for(int x = 0;x<i;) { m_bFindDirectories = m_filefind.FindNextFile(); if(m_filefind.IsDirectory()) { x++; m_directorylist.AddTail(m_filefind.GetFilePath()); } } // Suche schließen m_filefind.Close(); return true; }
Ich übergebe an sDirectory: "C:\\Dokumente und Einstellungen\\Jens\\Startmenü\\Programme\".
-
freakSkater schrieb:
Ich versuche alle Dateien eines bestimmten Verzeichnisses in eine CStringList zu speichern
Wenn du nur ein Ordner durchsuchen willst dann mach es so:
CFileFind finder; BOOL bResult = finder.FindFile(Pfad); if(bResult) { bResult = finder.FindNextFile(); if(! finder.IsDots()) { // Dann hier die Pfade in die ListBox eintragen } }
Gruß
:: NoName ::