nur gewählten Dateinamen aus open file dialog



  • Indem du einen Filter mit *.wav vorbelegst:
    z.B.

    CStrings Extensions = "Wave-Datei (*.wav)|*.wav|Alle Dateien (*.*)|*.*||";
    	CFileDialog Dia(TRUE,"wav","",OFN_HIDEREADONLY,Extensions,NULL);
    

    AndRo67



  • WOW vielen Dank genau das wollt ich!

    MERCI VIEL MOL!!



  • AndRo67 schrieb:

    Indem du einen Filter mit *.wav vorbelegst:
    z.B.

    CStrings Extensions = "Wave-Datei (*.wav)|*.wav|Alle Dateien (*.*)|*.*||";
    	CFileDialog Dia(TRUE,"wav","",OFN_HIDEREADONLY,Extensions,NULL);
    

    AndRo67

    Angenommen, ich lasse mehrere Dateitypen zu, dann kann ich den 'Extensions'-String locker erweitert., wie siehts aber nun beim "wav" string aus? kann man da auch ne Verknüpfung reinmechen? z.B. "wav|txt|*"?

    in der Praxis hab ich bisher immer auf den "wav" teil (2. Argument = NULL) verzichtet. Hat dennoch geklappt. Merkwürdig ...



  • sky21 schrieb:

    Angenommen, ich lasse mehrere Dateitypen zu, dann kann ich den 'Extensions'-String locker erweitert., wie siehts aber nun beim "wav" string aus? kann man da auch ne Verknüpfung reinmechen? z.B. "wav|txt|*"?

    in der Praxis hab ich bisher immer auf den "wav" teil (2. Argument = NULL) verzichtet. Hat dennoch geklappt. Merkwürdig ...

    MSDN schrieb:

    lpszDefExt
        The default filename extension. If the user does not include an extension in the Filename edit box, 
        the extension specified by lpszDefExt is automatically appended to the filename. If this parameter is NULL, 
        no file extension is appended.
    

    Kurt



  • ZuK schrieb:

    sky21 schrieb:

    Angenommen, ich lasse mehrere Dateitypen zu, dann kann ich den 'Extensions'-String locker erweitert., wie siehts aber nun beim "wav" string aus? kann man da auch ne Verknüpfung reinmechen? z.B. "wav|txt|*"?

    in der Praxis hab ich bisher immer auf den "wav" teil (2. Argument = NULL) verzichtet. Hat dennoch geklappt. Merkwürdig ...

    MSDN schrieb:

    lpszDefExt
        The default filename extension. If the user does not include an extension in the Filename edit box, 
        the extension specified by lpszDefExt is automatically appended to the filename. If this parameter is NULL, 
        no file extension is appended.
    

    Kurt

    und ich idiot hab noch selber code geschrieben, um die erweiterung bei bedarf noch hinzuzufügen.
    however, bei der auswahl von mehreren dateitypen kann man's eh ned gebrauchen.



  • Hm was mir grad aufgefallen ist, das funktioniert so eigentlich ganz gut, aber der Titel des Fensters muss anders sein, und der Button kann auch nicht öffnen heißen, kann man das auch irgendwie ändern?



  • wenn ich jetzt aber anstelle des .wav was ja automatisch hinzugefügt wird mal Mutwillig als Dateiname .XYZ eingebe, dann macht der mir ja gar kein .wav mehr hinten dran! Das soll aber nicht gehen!
    Ich dachte das Flag
    OFN_EXTENSIONDIFFERENT
    fängt das ab, aber ich kann eingeben was ich will der erzeugt mir das File!



  • Polofreak schrieb:

    wenn ich jetzt aber anstelle des .wav was ja automatisch hinzugefügt wird mal Mutwillig als Dateiname .XYZ eingebe, dann macht der mir ja gar kein .wav mehr hinten dran! Das soll aber nicht gehen!
    Ich dachte das Flag
    OFN_EXTENSIONDIFFERENT
    fängt das ab, aber ich kann eingeben was ich will der erzeugt mir das File!

    dann muss man eben selber auf die richtig endung achtung. *argh*



  • gut OK wenn ich weiß was der User im Dropdown als Dateiendung gewählt hat, ist das nicht das Problem, aber ich weiß leider nicht wie ich sowas raus kriegen kann. Wisst ihr was ich mein?



  • Polofreak schrieb:

    gut OK wenn ich weiß was der User im Dropdown als Dateiendung gewählt hat, ist das nicht das Problem, aber ich weiß leider nicht wie ich sowas raus kriegen kann. Wisst ihr was ich mein?

    ohh f****, daran hab ich auch noch nicht gedacht. nein sorry, da weiss ich echt auch keinen rat! 😕 😕



  • ich könnte schon einfach wenn es nciht passt die Standardendung ran hängen, aber ich hätte schon lieber die Auswahl hinten angehängt. Haben die da nicht ne Member dafür angelegt oder so?
    Weiß das jemand?



  • Polofreak schrieb:

    ich könnte schon einfach wenn es nciht passt die Standardendung ran hängen, aber ich hätte schon lieber die Auswahl hinten angehängt. Haben die da nicht ne Member dafür angelegt oder so?
    Weiß das jemand?

    nur so ne Idee...
    Man kann ja die verschiedenen Filter mittels "|" trennen. Hast du damit auch bereits den Parameter "LPCTSTR lpszDefExt" (=Automatische Erweiterung) mittels "|" Verknüpfung mitgegeben?

    Ich spekuliere nun mal, dass wenn man z.b. den zweiten Eintrag wählt, dass er auch dann die zweite Endung anhängt, sofern vorhanden im String ...



  • öhm hab ich jetzt net so ganz verstanden, ich hab es so gemacht:

    CString Extensions = "ExportToExcel (*.xls)|*.xls|ExportToCsv (*.csv)|*.csv||";
    	CFileDialog ExportTO(FALSE,"xls","",OFN_HIDEREADONLY|OFN_PATHMUSTEXIST|OFN_EXTENSIONDIFFERENT,Extensions,NULL);;
    


  • z.b. so

    CString sFilter1 = " Files Type1 (*.csv)| *.csv|";
    CString sFilter2 = " Files Type2 (*.xls)| *.xls|";
    
    CString sFileType1 = "csv|";
    CString sFileType2 = "xls|";
    
    CString sFilter = sFilter1 + sFilter2;
    CString sType   = sFileType1 + sFileType2; 
    
    CFileDialog ExportTO(FALSE,sType,"",OFN_HIDEREADONLY|OFN_PATHMUSTEXIST|OFN_EXTENSIONDIFFERENT,sFilter ,NULL)
    


  • leider tut auch das nichts anderes immernoch besagtes Problem 😞



  • So hat zwar ein weilchen gedauert, aber ich hab mir gedacht ich poste es doch noch schnell dass ich die Lösung zu dem Problem (durch Zufall) gefunden hab.

    Es ging ja drum, dass ich nicht weiß was der User eingegeben als Extension, und somit konnte ich es auch nicht vergleichen!
    Es gibt die Möglichkeit es ganz einfach raus zu finden und zwar so:

    MeinFileDialog.m_ofn.nFilterIndex;
    

    Das wars schon!
    In m_ofn stehen übrigens noch mehr schöne Sachen! 😉



  • Was ich im Thread auch noch fragte war, ob man den Text oben drüber nicht ändern kann! Ja kann man!

    MeinFileDialog.m_ofn.lpstrTitle = "Mein eigener Titel!";
    

    😉


Anmelden zum Antworten