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 ::


Anmelden zum Antworten