TTreeView (Daten speichern und laden)
-
Hallo Leute
ich benutze ein TTreeView um Aktionen des Benutzers anzuzeigen. Root-Item ist z.B. das aktuelle Datum + Uhrzeit. Danach werden Sub-Items angehangen, z.b. der Name des Projektes/Datei, welche der Benutzer über TOpenDialog öffnet etc...
Das ganze hat also rein informativen Charakter und sieht im Quelltext folgendermaßen aus. (Ein Auszug):void __fastcall TForm1::ToolButton4Click(TObject *Sender) { TTreeNode * Node1; Form1->OpenDialog1->Execute(); AnsiString filename = OpenDialog1->FileName; Node1 = TreeView1->Items->Item[0]; TreeView1->Items->AddChild(Node1,"Projekt " + filename + " geöffnent"); Label4->Caption="Projekt " + filename + " geöffnet"; } //---------------------------------------------------------------------------Das ganze sieht dann so in etwa aus:
-10.05.2007 - 13:35:40
...Projekt xxx geöffnet
...Eingabe von xxx
...uswMein Frage ist nun, wie ich diese "History" von Befehlen bei Schließen der Anwendung abspeichern kann, die dann beim erneuten Öffnen geladen werden und ein neuer Knoten mit dem aktuellen Datum und Uhrzeit entsteht.
+10.05.2007 - 13:35:50
- 11.05.2007 - 14:25:34
...(...)
...(...)
...(usw...)Vielen Dank Todd
-
ich glaub das
http://www.c-plusplus.net/forum/viewtopic-var-t-is-167943-and-highlight-is-destructor.html
könnte helfen
-
Hallo
TTreeView hat sogar die Methoden SaveToFile/LoadFromFile.
bis bald
akari
-
um die Daten abzuspeichern kannst du z.B. eine Textdatei verwenden, wo du jedes Element einfach untereinander schreibst, den SubItems könnte man dann je nach Ebenenzahl ein - pro Ebene voranstellen. Beim wieder Einlesen mußt du dann nur jede Zeile entsprechend wieder einlesen
Alternativ bietet sich auch ein Ini-File an, wobei hier die Datumswerte den Sektionen entsprechen und die Sub-Items dann mit fortlaufendem Index z.B. in folgender Form gespeichert werden können:
[10.05.2007 - 13:35:40] Item1=Projekt xxx geöffnet Item2=Eingabe von xxx Item3=usw[Edit] zu langsam und obendrein zu umständlich

-
Danke Leute,
das hat mir sehr geholfen. Jetzt klappt das wunderbar.
Liebe Grüße
Todd