Autor Beitrag
Christian V.
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 311

Win Xp Prof
Turbo Delphi 2005
BeitragVerfasst: Di 15.04.08 23:59 
Ich möchte jedem Node ein Record zuweisen, um so einfach Daten für ein Item zu speichern. Allerdings weiss ich nicht so genau, wie ich das am besten anstellen soll.

Ich mir bis jetzt mal folgendes überlegt: Ich erstelle ein zusätzliches Feld im Record, in Welchem ich die Referenz auf den dazugehörigen Node speichere. Die Records verwalte ich in einer Liste und durchsuche dann halt immer die Liste bis ich den Record für den selektierte Node finde. Ich denke nicht, dass dies eine sehr performante Lösung ist :D (ich hab zwar höchstens 50 Nodes wo das dann keine Rolle spiel, aber trotzdem)

Habt ihr mir ein paar Ansätze wie ich das realisieren könnte?

_________________
Hardware runs the world, software controls the hardware, code generates software - Have You already coded today?
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19341
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 16.04.08 00:41 
Ja, nimm die VirtualTreeView, da werden die Daten ohnehin in einem eigenen Record statt in der visuellen Komponente gespeichert ;-):
www.delphi-treff.de/...n32/virtualtreeview/
www.soft-gems.net/in...;id=12&Itemid=33
Christian V. Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 311

Win Xp Prof
Turbo Delphi 2005
BeitragVerfasst: Sa 19.04.08 01:04 
Danke für deine Antwort. Das verstehe ich nun aber nicht ganz. Was nützt es mir, wenn die Komponente selbst records benutzt?
Ich möchte doch nur zu jedem Eintrag zusätzlich gewisse Daten speichern. Ich will so zusagen Attribute zu einem Node speichern. Vielleicht erkläre ich es auch nur doof :D

_________________
Hardware runs the world, software controls the hardware, code generates software - Have You already coded today?
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19341
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 19.04.08 01:21 
Genau das macht die Komponente doch. Dann hast du doch in deinem Record die Daten zu jedem Eintrag.
Christian V. Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 311

Win Xp Prof
Turbo Delphi 2005
BeitragVerfasst: Sa 19.04.08 03:18 
Oh, tut mir leid. Jetzt habe ich die Beschreibung dazu auf Delphi-Treff gesehen.
Nur ein Problem habe ich noch: Ich habe Turbo Delphi :arrow: kann keine Komponenten installieren. Kann man die nicht irgendwie zur Laufzeit instanzieren?

_________________
Hardware runs the world, software controls the hardware, code generates software - Have You already coded today?
alzaimar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2889
Erhaltene Danke: 13

W2000, XP
D6E, BDS2006A, DevExpress
BeitragVerfasst: Sa 19.04.08 09:06 
Ja kann man. Du kannst aber auch eine TTreeview nehmen. Eine TTreeNode hat die Eigenschaft 'Data:Pointer', in dem du dein Record ablegen kannst. Du musst nur dafür sorgen, das beim Löschen eines Knotens der belegte Speicher wieder freigegeben wird (OnDeletion-Event). Ich verwende die TTreeView z.B. für Optionseinstellungen, wie man das aus dem Optionen-Dialog von Delphi kennt. Die Geschwindigkeit ist wirklich lausig, aber für 'normal große' Baumstrukturen reicht diese native Komponente allemal.

Die VirtualTreeView-Komponente ist natürlich wesentlich flexibler und für große Datenmengen geeignet.

_________________
Na denn, dann. Bis dann, denn.
Christian V. Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 311

Win Xp Prof
Turbo Delphi 2005
BeitragVerfasst: Mi 23.04.08 17:11 
Vielen Dank für deine Antwort.
Die Eigenschaft Data war genau wonach ich gesucht hatte :D

_________________
Hardware runs the world, software controls the hardware, code generates software - Have You already coded today?