Speicherndialog
-
//CFileDialog dlg(FALSE, ".asm", NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, "Assembler (*.asm)|*.asm||", NULL); CFileDialog dlg(FALSE, m_type, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, " m_description (*m_type)|*m_type||", NULL);
Da mein Speicherndialog etwas dynamischer sein soll, wollte ich den Namen und den Typ mit Variablen vom Typ CString ersetzen. Warum steht dann aber beim Speichern der Name der Variablen dort und nicht der Wert?
-
weil du es in einem String hast!
alles was in deinem Code hier im Forum rot ist ist Text, dann kann er es ja nicht als Variable erkennen!
-
CString extension = " m_description ("+*m_type+")|*m_type||"; CFileDialog dlg(FALSE, m_type, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, extension , NULL);
Nicht probiert sollte aber!
-
CFileDialog dlg(FALSE, m_type, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, " m_description (*m_type)|*m_type||", NULL);
Es fängt ja schon damit an das die Variable m_type nicht als Variable erkannt wird.
" m_description (*m_type)|*m_type||"
Das war noch in "", weil es ohne nen Fehler gibt.
Also die Variable m_type vom Typ CString ohne "" sollte doch den Wert wiedergeben oder?
CString extension = " m_description ("+*m_type+")|*m_type||"; CFileDialog dlg(FALSE, m_type, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, extension , NULL);
funktioniert leider nicht
-
OK Sorry mein Fehler:
CString extension = m_description + " (" + *m_type + ")|" + *m_type + "||"; CFileDialog dlg(FALSE, m_type, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, extension , NULL);
So du machst einfach ne Stringaddition
-
ja danke
aber noch ein KommentarCString extension = m_description + " (" +"*" +m_type + ")|" + *m_type + "||";
Da musste noch was("") um das * damit es 100 % läuft.
-
ja natürlich, sonst hätten wir ja nur nen zeiger auf auf die Member. OK wenn es jetzt tut, dann ist ja gut!