Ich schaffe es nicht den Baum automatisch aufzubauen... ich bin mir sicher für einen guten Programmierer ist das ein Klax.
Wenn ich jeden Knoten händisch definiere und dann die Mutter/Kind Beziehungen vergebe funtkioniet das gut wie in diesem Beispiel:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | Sub treeTest()
Dim filter As TreeItem
Set filter = New TreeItem
filter.Value = "filter"
Dim connector1 As New TreeItem: connector1.Value = "connector1"
Dim damper As New TreeItem: damper.Value = "damper"
Dim connector2 As New TreeItem: connector2.Value = "connector2"
Dim emission1 As New TreeItem: emission1.Value = "emission1"
Set filter.LeftChild = connector1
Set connector1.LeftChild = damper
Set damper.LeftChild = connector2
Set connector2.LeftChild = emission1
End Sub
|
Wenn ich das jedoch automatisch für beliebig viele Elemente machen möchte, dann stehe ich an.
Habe folgendes versucht (motherChildRelation() ist eine 2D-Liste welche die Beziehungen enthält).
Die Idee war für jede Mutter ein Knotenelment zu erstellen (als array) und dann mit Hilfe der Liste zu verlinken.
Sobald ich in die Zeile komme wo es spannend wird: Set baum(1).LeftChild = baum(2) .... schreibt er im watchwindow des arrays baum() in das Value Feld "out of context" hinein
Dim baum() As TreeItem
Dim numberOfNodes: numberOfNodes = 5
'Dim forCounter As Integer
ReDim baum(1 To numberOfNodes)
For forCounter = 1 To numberOfNodes
Set baum(forCounter) = New TreeItem
baum(forCounter).Value = motherChildRelation(1, forCounter)
Next
Set baum(1).LeftChild = baum(2)
Set baum(2).LeftChild = baum(3)
Set baum(2).RightChild = baum(4)
Set baum(2).LeftChild = baum(5)
End Sub
Es muss doch einen einfachen richtigen Weg geben wie ich mir aus diesn Mutter/Kind Beziehungen einen Baum erstellen kann.
Bin für jede Unterstützung dankbar!
|