Problem mit speichern
-
Hi,
Ich habe vor, mir einen Vokabeltrainer zu schreiben. Die vokabeln werden in einer .txt gespeichert.Nur irgendwie wird immer die ganze Liste überschrieben, wenn ich etwas neues hinzufügen möchte.
Hier der Quellcode:
/--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" int Zahl; TForm1 *Form1; TStringList *deutsch; TStringList *englisch; void __fastcall TForm1::Panel5Click(TObject *Sender) { deutsch = new TStringList; englisch = new TStringList; if((deutschw->Text) != "" && (engw->Text) != "") { deutsch->Add(deutschw->Text.c_str()); deutsch->SaveToFile("deutsch.txt"); englisch->Add(engw->Text.c_str()); englisch->SaveToFile("englisch.txt"); Application->MessageBoxA("Vokabel hinzugefügt","hinzugefügt",0+64); } else { .... }Weiß einer, wie ich es hinbekomme, dass ein neuer Wert zu der Liste hinzugefügt wird und nichts überschrieben wird?
Danke schonmal im vorraus

schnurres
-
Hallo.
Du könntest zuerst mit LoadFromFile() deine Datei Laden und dann im Programm
mit Append() deinen neuen Text anhängen und dann wieder speichern.
Ansonsten andere Speicherfumktionen verwenden.
-
Schau Dir dazu auch mal diesen Thread an: http://www.c-plusplus.net/forum/viewtopic-var-t-is-76008-and-postdays-is-0-and-postorder-is-asc-and-highlight-is-*vokabel*-and-start-is-0.html
-
Danke an alle!
ich habe es jetzt so gemacht :
deutsch->LoadFromFile("deutsch.txt"); deutsch->Add(deutschw->Text.c_str()); deutsch->SaveToFile("deutsch.txt"); englisch->LoadFromFile("englisch.txt"); englisch->Add(engw->Text.c_str()); englisch->SaveToFile("englisch.txt");
-
warum machst du .c_str()?
-
Ich würde auch nicht nach jedem neuen Wort die Datei neu abspeichern, geschweige denn, dann beim nächsten Wort die Datei erst wieder einladen...
-
gaaaaaaaaaaaaaaanz einfach
programm start
datei laden d
datei laden edo
wort hinzufügen d
wort hinzufügen e
whiledatei speichern d
datei speichern aprogramm ende
-
Th schrieb:
Ich würde auch nicht nach jedem neuen Wort die Datei neu abspeichern, geschweige denn, dann beim nächsten Wort die Datei erst wieder einladen...
Dann mach mal einen besseren Vorschlag ....
-
Der Vorschlag steht doch (in Pseudocode) direkt über dir.