FileDialog Prob



  • Hi Leute,

    folgender Code für einen fileDialog ( "mit multiselect" ) liegt zugrunde:

    void CAllgAngabenDlgPage::OnButtonHANLaden() 
    { 
        SetModified(TRUE);
        m_str_arrList.RemoveAll();
        TCHAR cFileNames[1024]; 
        memset(cFileNames,0,sizeof(cFileNames)); 
        CFileDialog fileDialog(TRUE,NULL,NULL,OFN_ALLOWMULTISELECT,("CPA-ErgebnisDatei (*.han)|*.han|")); 
    
        fileDialog.m_ofn.lpstrFile = (LPSTR)cFileNames; 
        fileDialog.m_ofn.nMaxFile  = sizeof(cFileNames);
    
        if (fileDialog.DoModal() == IDOK) 
        { 
            GetFiles(cFileNames); 
            for(int i=1; i<m_str_arrList.GetSize(); i++) 
            {  
                StartLoadData(m_str_arrList.GetAt(i));
            } 
        } 
    }
    void CAllgAngabenDlgPage::GetFiles(TCHAR cFileNames[1024])
    {
        CString strFileName; 
        for (int i=0; i<=1024; i++) 
        { 
            strFileName += cFileNames[i]; 
            if(strFileName == "\0") 
                break; 
    
            if(cFileNames[i] == '\0') 
            { 
                m_str_arrList.Add(strFileName); 
                strFileName.Empty(); 
            }    
        } 
    }
    

    Wenn ich nur eine Datei auswähle passiert gar nichts. Wenn ich mehr als eine auswähle werden alle schön abgearbeitet bis auf die erste. Warum? Ich verstehs nicht. 😞 😕
    Hat jemand etwas Code für eine Multidateiauswahl bei der auch die 1. Datei mit erkannt wird. Irgendwie scheint das mit den Breakpoints '/0' zusammenzuhängen, aber ich blicks nicht.

    Vielen Dank @ all! 👍
    MfG
    RunSeb


Anmelden zum Antworten