"Speichern unter..." mit CStdioFile ?

kscha

Mitglied
Hallo zusammen ! :)

Ich habe eine dialogbasierte MFC-Anwendung und möchte meine Daten aus den Steuerelementen abspeichern.... auch gar kein Problem.... funktioniert ohne weiteres !

Jetzt die Frage dazu: Ich habe bei mir die folgenden flags gesetzt:
Code:
CStdioFile speicherFile(name, CFile::modeWrite | CFile::modeCreate | 
                     CFile::modeNoTruncate | CFile::shareDenyNone);
Speichere ich nun eine Datei mit einem Namen, den es schon gibt, dann wird sie einfach überschrieben ! Welche Flags muß ich setzen, damit er sowas sagt wie z.B. "Diese Datei existiert bereits ! Überschreiben ?"
Das sollte doch eigentlich mit Flags und ohne Programmieraufwand funktionieren, oder ?!

Für Tips und Anregungen bin ich Euch sehr dankbar !

Liebe Grüße an die von mir bereits liebgewonnene 'tutorial.de-Gemeinde', ;)

Kai
 

Kachelator

Peter Jerz
Speichere ich nun eine Datei mit einem Namen, den es schon gibt, dann wird sie einfach überschrieben ! Welche Flags muß ich setzen, damit er sowas sagt wie z.B. "Diese Datei existiert bereits ! Überschreiben ?"
Garnicht. Das machst du am besten mit dem Filedialog, mit dem der User Pfad und Dateinamen auswählt. Dort kannst du das entsprechende Flag setzen. Wenn der Filedialog für das Speichern geöffnet wird, fragt er selbst nach, ob überschrieben soll. Sehr praktisch!

Siehe MSDN:
CFileDialog( BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, LPCTSTR lpszFilter = NULL, CWnd* pParentWnd = NULL );
 

kscha

Mitglied
SUPER ! Vielen Dank :)

Ich hatte ja schon geahnt, daß es nur ein einziges Flag ist, das ich setzen muß,...... aber da hätte ich, glaub ich, doch nochmal ganz schön lange rumsuchen müssen

Gruß, Kai
 

Kachelator

Peter Jerz
Bitte! Freut mich, dass ich dir helfen konnte.

Das ging mir mit dem Rumsuchen auch so, als ich das das erste Mal probiert habe.