nur gewählten Dateinamen aus open file dialog
-
Hi zusammen, ich komm gleich zur Sache
wenn einer öffnen macht, soll sich nicht wie gewohnt die Datei öffnen sondern ich will nur den Dateinamen haben, der ja mit Sicherheit dann irgendwo steht. Kann mir da einer weiter helfen?
-
CFileDialog verwenden. Der öffnet nichts.
Kurt
-
Hm jo das ist es eigentlich *gg*
Aber noch ne Frage ich will dass man nur .wav Dateien öffnen kann. wenn cih aber einen Nachfolgender Strings mitgebe, tut sich nichts.
"wav" oder "*.wav" oder ".wav"
Wie mach ich den Open Dialog dass nur Wavs zu sehen sind?
-
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!";