Speichern im vorgegebenen Format?



  • Grüsse nochmals 🙂

    Da so langsam alles funktioniert was tun soll, versuche ich grade noch ein paar Bedienfehler zu unterbinden, falls der DAU mal versucht mit meinem Programm zu schaffen.

    Beim Laden und Speichern ist es ja möglich, zu sagen, welche Dateien er anzeigen soll. Nun möchte ich dem Benutzer gerne ein Format aufzwingen, also z.B. *.txt

    Wenn ich meinen Dialog zum Speichern öffne, zeigt er mir auch nur Textfiles and, aber wenn ich nun einfach als Namen nur z.B. "Test" eintippe, speichert er auch nur eine Datei "Test" ohne Endung *.txt. Ich möchte aber "Test.txt" haben. Wer ne Idee?

    So sieht mein Code dazu aus.

    void PropertyPageSeiteA::OnButtonSaveDescription() 
    {
    	CFileDialog cFileDlg(FALSE, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, "Textdateien (*.txt)|*.txt||", NULL);
    	cFileDlg.m_ofn.lpstrInitialDir = _T("::{20D04FE0-3AEA-1069-A2D8-08002B30309D}"); 
    	cFileDlg.DoModal();
    
    	if (cFileDlg.DoModal() == IDOK) 
    	{ 
    	  CStdioFile file; 
    	  if(file.Open(cFileDlg.GetPathName(), CFile::modeCreate | CFile::modeWrite)) 
    	  { 
    		for (int i=0; i<256; i++)
    		{
    			CListCtrl* pList = (CListCtrl*) GetDlgItem(IDC_LIST1); 
    			CString m_wert;
    			m_wert = pList->GetItemText(i, 2);
    			file.WriteString(m_wert + "\n"); 
    		}
    	  file.Close(); 
    	  } 
    	}
    }
    


  • Nachtrag 😉

    Ich weis welches NULL ich ändern muss, aber ned wie 😉



  • Knicken, lochen und abheften 😉

    Nur falls noch wer die Frage hat, hier die Lösung 🙂

    CFileDialog cFileDlg(FALSE, "Textdateien (*.txt)|*.txt||", NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, "Textdateien (*.txt)|*.txt||", NULL);
    


  • ich hätte jetzt gesagt so:

    CFileDialog cFileDlg(FALSE, ".txt", NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, "Textdateien (*.txt)|*.txt||", NULL);
    


  • Jepp, tut auch, also kürzer 🙂


Anmelden zum Antworten