treeview record laden
Bei einem Projekt zum Treeview komm ich gerade leider nicht weiter.
Delphi-Quellcode:
Einerseits gibt ein kleines Problem beim Löschen. Ich soll es wie folgt handhaben, damit der Speicher freigegeben wird aber es gibt "zu viele Parameter"
type TS20 = String[20];
TS3 = String[3]; TS1 = String[1]; Tdatenzeiger=^TSchueler; TSchueler = record name, vorname:TS20; klasse:TS3; Note1,Note2,Note3,Note4,Note5:TS1; end; akt,aktkl,schule:TTreeNode; datenzeiger : TDatenzeiger; Schueler : TSchueler;
Delphi-Quellcode:
Das größere Problem ist das Laden des gespeicherten Records (.txt file of Tschueler). Wie zerlege ich den einen langen String in seine Records und dann in seine einzelnen Bestandteile? Mit Memos hatte ich sowas in der Art schonmal gemacht, aber es soll hier ohne Memo funktionieren und die txt ist anders aufgebaut.
datenzeiger := akt.data;
free(datenzeiger);
Code:
Verdammt. Bei der Kontrolle gerade ziegt sich, dass etwas beim Speichern net stimmt, weil aus Lisa Lisaia wird... mal kuckn. Die Speicherschleife ruft die einzelnen Recordteile auf und weist Schueler diese jeweils zu, muss man nach dem Speichern des Schülers 1 das Schueler wieder auf "0" setzen? Wie macht man das elegant? Allen Teilen nen leeren string zuweisen würd gehn, aber naja :/
Bsp einer txt (ohne ascii zeichen die hier fehln)
stein alex 5a 00000stein saskia 5a 00000weinn lisaia 5a 00000hagen günter 5b 00000meier josefr 5b 00000 mfg nextname |
AW: treeview record laden
ein bisschen viele Unbekannte für den geneigten Leser ....
|
AW: treeview record laden
Hallo,
wenn wir von Delphi sprechen kann Free nicht funktionieren, da das die Methode ist um Objekte freizugeben. Entweder FreeMem() oder besser Dispose() nehmen. Grüße |
AW: treeview record laden
danke lemmy hat geklappt
@bummi: Man muss wissen wie der String aufgebaut ist, damit man ihn zerlegen kann. Darum die ganzen angaben, aber es geht auch einfacher: z für Zeichen 20z 20z 3z 1z 1z 1z 1z 1z 20z 20z 3z 1z 1z 1z 1z 1z usw. Leerzeichen steht für irgendein Symbol dass da halt ist.
Delphi-Quellcode:
Die einzelnen Eigenschaften von Schueler kann ich ja nicht einfach abfragen. Wie komme ich nun vom string zu diesen?
begin
if OpenDialog1.Execute then begin assignfile(datei,OpenDialog1.FileName); Reset(Datei); While not eof(Datei) do begin Read(Datei,Schueler); schueler.klasse:=klasse; schueler.name:=name; schueler.vorname:=vname; schueler.Note1:=note1; schueler.Note2:=note2; schueler.Note3:=note3; schueler.Note4:=note4; schueler.Note5:=note5; with Schueler do Schueler_anlegen(Klasse,Name,Vname,note1,note2,note3,note4,note5); end; closefile(datei); end; end; btw: Speicherproblem mitm überschreiben mit Leerzeicehn gelöst... mfg nextname |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:07 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz