Speichern... NICHT Dialogfrage, sondern EXT Problem..
-
Hi zusammen! Mit folgendem Code lasse ich den Speichern unter Dialog aufrufen.
Man kann zB "uga.htm" eingeben und es wird als uga.htm gespeichert. Aber das Problem:Ich habe unten zur Auswahl: Textdatien (*.txt), Webseiten etc... Wie schaff ich das, das wenn man TEXTDATEIEN gewählt hat, dass man NUR den dateinamen eingeen mus und die endung, die in der klammer steht, hier *.txt automatisch angefügt wird ???
Hier mal der Code:
CString filename; CFileDialog FileDlg(FALSE, NULL, NULL, NULL, "Textdateien(*.txt)|*.txt|Webseiten(*.htm,*.html,*.dhtml,*.xhtml)|*.*htm*|PHP-Skripte(*php,*.php3,*.php4)|*.php*|Java-Skripte(*.js)|*.js|Alle Dateien(*.*)|*.*||"); int FileDialog=FileDlg.DoModal(); //Hier wird der Code reingeschrieben der ausgwführt wird, wenn bei FileDlg auf Ok geklickt wird if( FileDialog == IDOK ) { filename=FileDlg.GetPathName(); //Der volle pfadname + dateiname (z.b: c:\autoexec.bat ^_^) CFile file(filename, CFile::modeWrite | CFile::modeCreate); file.SetLength(0); UpdateData(TRUE); file.Write(m_strAusgabe, m_strAusgabe.GetLength()); file.Close(); // GetDlgItem(IDC_STATICUB)->EnableWindow(FALSE); UpdateData(TRUE); }
Ich sollte dann einfach test eingeben können und utnen textdateien wählen. Dann sollte die Datei als "test.txt" und nicht nur als "test" gespeichert werden!
Aber wenn ich Webseiten gewählt habe, soll der mir nicht .txt anhängen, sondern .html !Habe es mit filename=GetFileExt(); versucht, aber geht nicht. Hat da wer eine Idee??
mfg
Programmer
-
OPENFILENAME::nFilterIndex returns the index of the currently displayed filter
, den Rest musst Du programmtechnisch erledigen
-
Ich hab das mit mit dem Flag 'OFN_EXTENSIONDIFFERENT' im Konstruktor von CFileDialog hinbekommen
Gruß
rg_Basser