Inhalt aus Memo in Edit
-
hi,
ich kenn mich nicht besonders gut aus mit c++, deshalb könnte die frage ziemlich leicht zu beantworten sein.
also:
generell will ich, dass beim beenden des programmes die inhalte von 7 edit-feldern in eine datei gespeichert werden und beim starten des programms wieder zurück ind die felder geladen werden.meine lösung ist bisher so (ich bin anfänger, deshalb wahrscheinlich eine komische lösung):
ich schreibe die inhale der edit-felder in ein memo (jedes feld in eine neue zeile) und speichere das dann. soweit so gut, allerding kann ich es nicht so richtig laden.
bisher mach ich es so:
ich lade die datei wieder ins memo und mach dann folgendes:
char txt[10];
sprintf(txt, "%d", Memo1->Lines[0]);
Edit1->Text = StrToInt(txt);ich schreib den inhalt der ersten zeile der memo in txt und will dann txt einfach wieder ins edit-feld schreiben. wenn ich das so mache, schreibt der mir aber immer komischerweise "1074022856" in das feld, egal, was eigentlich dort stehe sollte.
hat irgendjemand eine ahnung, wie ich das machen kann, dass es geht ???
schonmal danke im voraus
p.s: mein code ist nicht so wichtig, ich brauch einfach nur etwas, das geht, kann von mir aus auch ganz anders aussehen als mein code.
achja, noch was:
es gibt nur zahlen und sie können nicht länger als 9 zeichen lang sein, das ist schon ok so.[ Dieser Beitrag wurde am 17.04.2003 um 13:21 Uhr von WG_Spritzwasser editiert. ]
-
Hallo,
Wenn du sprintf schon unbedingt verwenden willst, dann nimm statt %d (Integer Zahl) lieber %s (String). Wenn aber pro Zeile im Memo eine Zahl gilt, brauchst du sprintf gar nicht.
Ciao
-
// Speichern
TStringList *L = new TStringList();
L->Add(Edit1->Test);
...
L->Add(Edit7->Test);L->SaveToFile("c:\\test.txt");
delete L;// Laden
TStringList *L = new TStringList();
L->LoadFromFile("c:\\test.txt");
Edit1->Test = L->Strings[0];
...
Edit7->Test = L->Strings[6];delete L;
-
wunderbar Xqgene danke, hat funktioniert