AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

treeview record laden

Ein Thema von nextname · begonnen am 21. Jan 2013 · letzter Beitrag vom 22. Jan 2013
Antwort Antwort
nextname

Registriert seit: 21. Jan 2013
2 Beiträge
 
#1

treeview record laden

  Alt 21. Jan 2013, 21:48
Bei einem Projekt zum Treeview komm ich gerade leider nicht weiter.

Delphi-Quellcode:
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;
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"
Delphi-Quellcode:
datenzeiger := akt.data;
 free(datenzeiger);
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.
Code:
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
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 :/

mfg nextname
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#2

AW: treeview record laden

  Alt 21. Jan 2013, 22:39
ein bisschen viele Unbekannte für den geneigten Leser ....
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.366 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: treeview record laden

  Alt 22. Jan 2013, 05:37
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
  Mit Zitat antworten Zitat
nextname

Registriert seit: 21. Jan 2013
2 Beiträge
 
#4

AW: treeview record laden

  Alt 22. Jan 2013, 16:38
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:
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;
Die einzelnen Eigenschaften von Schueler kann ich ja nicht einfach abfragen. Wie komme ich nun vom string zu diesen?

btw: Speicherproblem mitm überschreiben mit Leerzeicehn gelöst...

mfg nextname
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:33 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