Autor Beitrag
schnief7
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 23



BeitragVerfasst: Fr 24.01.03 22:21 
Wie zum Teufel :evil: kann ich bei einem VirtualStringTree
über den absoluteIndex den dazugehörigen Node bekommen??

Bitte helft mir!

Moderiert von user profile iconTino: Titel geändert.
schnief7 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 23



BeitragVerfasst: So 26.01.03 16:24 
Kann mir denn niemand helfen??

falls meine ausdrucksweise im vorherigen tread etwas zu aggressiv war, möchte ich mich entschuldigen!

ich bin nur langsam am verzweifeln

ich habe den absoluteIndex eine Nodes aus einem VirtualStringTree und
irgendwie muss es doch möglich sein, über diesen index den dazugehörigen
Node zu bokommen! oder??
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Mo 27.01.03 10:09 
Hi,

ich habe auf die schnelle keine Funktion im Sourcecode von VT gefunden. Eine Möglichkeit wäre die Node der TreeView abzuarbeiten und bei jeder Node über die Funktion AbsoluteIndex den Index überprüfen.

Wieso brauchst Du überhaubt den Index der Node?

Gruß
TINO
schnief7 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 23



BeitragVerfasst: Mo 27.01.03 13:06 
Hi

Danke für die Antwort! Genau so hab ich das bis jetzt auch gelöst, wollte nur eine schnellere Lösung.

Den Index brauch ich für folgendes:

Ich hab eine Tabelle (VirtualTree als Grid) jede Spalte (oder auch mehrere) sind einem Node eines anderen VirtualTrees zugeordnet.
Dies hab ich so gelöst, das bei jeder Spalte in der Variable 'Tag' der AbsoluteIndex der Node aus dem anderen VirtualTree steht.
Wenn nun ein Node 'geChecked' wird, soll die dazugehörige Spalte ein- bzw ausgeblendet werden.

Ich dachte nur das es eine Funktion geben müsste oder was kann ich sonst mit dem absoluteindex machen??

Gruß
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Mo 27.01.03 13:25 
Eventl. funktioniert das hier auch:

Zuweisung:
ausblenden Quelltext
1:
Spalte.Tag := @Node;					

und
ausblenden Quelltext
1:
Node := PVirtualNode (Spalte.Tag)^;					


Gruß
TINO
schnief7 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 23



BeitragVerfasst: Mo 27.01.03 18:10 
Hallo!

scheint nicht zu funktionieren

bei der ersten zuweisung (tag:=@node;)
bekomm ich den fehler "inkompatible typen: integer und pointer"

trotzdem danke
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Mo 27.01.03 19:49 
Sorry, muss natürlich so gemacht werden:
ausblenden Quelltext
1:
Tag := Integer (@Node);					


Gruß
TINO
schnief7 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 23



BeitragVerfasst: Mo 27.01.03 20:24 
Hi

die erste zuweisung funzt jetzt aber bei der zweiten sagt er immer
incompatible Typen TVirtualNode und PVirtualNode

wenn nich nun node als tvirtualNode declariere, funzt zwar die zuweisung
aber nichts passiert.

Gruß
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Mo 27.01.03 20:45 
schnief7 hat folgendes geschrieben:
bei der zweiten sagt er immer
incompatible Typen TVirtualNode und PVirtualNode

Das war ja auch nur ein Beispiel. Wenn Du den Node als tVirtualNode haben möchtest dann mach das so:
ausblenden Quelltext
1:
2:
3:
4:
Var
  Node: tVirtualNode;
{...}
  Node := pVirtualNode (Spalte.Tag)^;

Wenn Du es als pVirtualNode haben möchtest dann so:
ausblenden Quelltext
1:
2:
3:
4:
Var
  Node: pVirtualNode;
{...}
  Node := pVirtualNode (Spalte.Tag);


schnief7 hat folgendes geschrieben:
aber nichts passiert.

Dazu kann ich wenig sagen... schließlich weiß ich nicht wie Du mit der Node weiter arbeitest.

Gruß
TINO
schnief7 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 23



BeitragVerfasst: Mo 27.01.03 22:01 
Geht leider immer noch nicht!

Hast du es selbst probiert?? Geht es bei dir??
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Di 28.01.03 00:39 
schnief7 hat folgendes geschrieben:
Geht leider immer noch nicht!

Was geht immer noch nicht. Was für eine Meldung?

schnief7 hat folgendes geschrieben:
Hast du es selbst probiert?? Geht es bei dir??

Ja habe ich.

Gruß
TINO
schnief7 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 23



BeitragVerfasst: Di 28.01.03 12:59 
Naja! Fehlermeldung kommt keine aber wenn ich die Daten vom Node
abrufe (virtualtree.getNodedata(node)) dann kommen da die witzigsten
Werte raus (nur nicht die die kommen sollten).

Ist das vielleicht, weil ich 2 VirtualStringTrees habe??