Die Community zu .NET und Classic VB.
Menü

Klasse: Baumklasse

 von 

Baumklasse  

Mit dieser Klasse kann man Baumstrukturen erzeugen bzw. abbilden. Der Zugriff auf die einzelnen Knoten kann u.A. über einen Schlüsselwert erfolgen. Die Klasse ist so gestalltet, dass es verschiedenste Möglichkeiten gibt auf einzelne Elemente zuzugreifen.

Jedes Element des Baumes ist in der Nodes-Collection des Elternknotens. Die Nodes-Collection enthält folgende Elemente:

  • Value (offensichtlich)
  • Key (dito)
  • Count (= Zahl der direkten Kindknoten)
  • Next_ (= nächstes Element auf selber Ebene)
  • Prev_ (= vorheriges Element auf selber Ebene)
  • First (= erstes Element auf selber Ebene)
  • Last (= letztes Element auf selber Ebene)
  • Parent (= Elternknoten)
  • Nodes (= abhängige Knoten)

mehr braucht man nicht. Nun noch die Methoden:

  • Add (= fügt einen Knoten zu den Kindknoten hinzu)
  • Remove (= entfernt einen Kindknoten)
  • Item (= gibt ein Kindknoten zurück)

All diese Eigenschaften können rekursiv aufgerufen werden. Die folgenden vier Aufrufe bringen das selbe Resultat, wobei die ersten zwei schneller wären, da hier kein Strings geparst werden müßten:

' normal:
Call Tree.Item("Ebene 1").Item("Ebene 2").Item("Ebene 3").Add("Ebene 4")

' irre konfus, aber lustig:
Tree![Ebene 1]![Ebene 2]![Ebene 3].Add "Ebene 4"

' über Pfad und Item:
Call Tree.Item("Ebene 1\Ebene 2\Ebene 3").Add("Ebene 4")

' nur über Pfad (geht auch!!!):
Call Tree.Add("Ebene1\Ebene 2\Ebene 3\Ebene 4")

Dabei sei noch anzumerken, daß all diese Wege nur funktionieren, wenn die Einträge "Ebene 1" bis "Ebene 3" schon existieren, d.h. man kann sie nicht implizit erstellen.

Der Download enthält neben der Klasse selbst auch ein Beispielprojekt.

Geschrieben wurde die Klasse von

Download CTreeNode.zip [4569 Bytes]

Ihre Meinung  

Falls Sie Fragen zu diesem Artikel haben oder Ihre Erfahrung mit anderen Nutzern austauschen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.