Verhindern von überspeichern

Whizzle

Mitglied
Hallo!
Beim speichern in eine Textdatei mit Hilfe von SaveFile wird nur das letzte TextCtrl-Feld gespeichert, wie kann man verhindern, das die anderen überspeichert werden oder wie kann man alle in eine eigene Zeile schreiben? Oder wie kann die TextCtrls in einer Variablen speichern(In einen String oder so umwandeln funktioniert nicht)?
Code:
if (!save.empty())
       {
        firstname->SaveFile(save) & lastname->SaveFile(save); & adress->SaveFile(save); 
              
        Destroy();
       }
Wäre für Hilfe sehr dankbar

Whizzle
 
Auch auf die Gefahr hin zu nerven.

Von welchem OS sprichst du? Welcher Compiler? Welche Sprache (C, C++)? Welche Bibliothek?
 
Benutz nicht die wxTextCtrl->SaveFile(...) methode, sondern öffne deine eigene Datei und schreibe den wxString den du mit wxTextCtrl->GetValue() bekommst selber hinein. So kannst du die Datei mit dem Attribut append öffnen und es wird einfach hinten angehängt.
Wenn du es ganz Elegant machen willst, leitest du einfach von wxTextCtrl eine Klasse z.B. wxTextCtrlAppendFile an und erweitest die Control so um eine Methode.

Zum Datei öffnen kannst du dir mal die Klasse wxFile anschauen. Mit wxFile->Write(wxString inhalt) kannst du dann schreiben (der 2te Parameter bei dieser Methode ist optional).
 
Zuletzt bearbeitet:
Ok, danke, werde das mal versuchen, obwohl ich das mit dem GetValue() schon mal probiert habe, vielleicht habe ich ja da einen Fehler gemacht...
 
Zurück