Sprung zum Seitenende Struktur Themen A...Z Titel << >>

CXI-Basis-Programmierreferenz / Version 2 / Datenspeicherung / CxiTree /

class CxiTree

[C++] class CxiTree : public CxiNode

[S1:BASIS] CxiTree ist die Basisklasse aller CxiTree...-Klassen, siehe Klassenhierarchie.

Ein CXI-Baum (CxiTree) ist eine Sammlung von CXI-Knoten, die zu einer baumartigen Struktur zusammengefasst sind. Ein CxiNode, der zu einem CxiTree gehört, kann Variablen vom Typ Unterbaum-Referenz (cxiTypeSub) enthalten.

[Graphik: Beispielbaum]

Die Klasse CxiTree stellt ein Sichtfenster auf jeweils einen Knoten des Baumes zur Verfügung. Der Baum selbst befindet sich unsichtbar im Hintergrund.

Dies entspricht im Aufbau und der Anwendung dem Verzeichnisbaum auf einem Datenträger. CxiNode-Objekte sind die Directorys (Verzeichnisse, Ordner), eines dieser Objekte ist das aktuelle Sichtfenster. Innerhalb des Sichtfensters existieren Unterbaum-Referenzen (Subdirectorys, Unterverzeichnisse, Unterordner) und andere Variablen (Dateien).

Das Basiskonzept der CxiTree-Implementation ist die Zusammenführung der Funktionalität des CXI-Knotens mit einem Speichermedium.

[Graphik: Baum und Speichermedium]

Das Speichermedium enthält die Daten des CXI-Baums in Form von CXI-Knoten, die die einzelnen Knoten des Baums darstellen. Einer dieser Knoten wird in den Hauptspeicher geladen und mit den normalen Funktionen des CXI-Knotens bearbeitet. Dieser Knoten ist der aktuelle Knoten (aktuelles Directory, Arbeitsverzeichnis), er stellt ein Sichtfenster auf den gesamten CXI-Baum dar. Nur dieses Fenster ist aktuell im Zugriff des Anwendungsprogramms. Mit speziellen Funktionen wird dieser aktuelle Block auf das Speichermedium zurückgeschrieben und ein anderer Knoten als aktueller Knoten geladen. Dies entspricht dem Wechsel des Arbeitsverzeichnisses auf der Festplatte mit CHDIR (CD).

Zu diesem Zweck hinzugekommen ist ein spezieller Datentyp im CXI-Knoten, die Unterbaum-Referenz. Eine solche Variable kann einerseits wie jede andere Variable behandelt werden (z.B. Löschung), sie ist aber auch als Referenz auf einen Knoten im Baum verwendbar. Eine Unterbaum-Referenz im CXI-Knoten entspricht daher einem Subdirectory-Eintrag (Unterverzeichnis, Unterordner) in einem Directory (Verzeichnis, Ordner) auf der Platte.

Ebenfalls hinzugekommen sind die Funktionen für die Verwaltung des Baums und des Speichermediums:

- Öffnen und Schließen des Speichermediums
- Erstellen und Löschen von Unterbaum-Referenzen
- Wechsel des Sichtfensters
- Explizites Zurückschreiben des Sichtfensters
- Rücknahme aller Änderungen seit dem letzten Lesen oder Schreiben

Abhängig vom benutzten Speichermedium sind verschiedene CxiTree-Varianten implementiert:

Der 'CxiTreeMem' residiert vollständig im Hauptspeicher und ist daher nur während eines Programmlaufs gültig. Die Größe des Baums ist durch den verfügbaren Speicherplatz stark eingeschränkt.

Der 'CxiTreeFile' verwendet eine Datei als Datenspeicher. Diese Datei kann geöffnet, verändert und geschlossen werden. Sie ist somit auch zum Datenaustausch zwischen Programmen geeignet. Das vom 'CxiTreeFile' und seinen Varianten benutzte Dateiformat ist kein Textformat, aber es gibt ein Programm, das eine Textdatei in eine CXI-Datei und umgekehrt übersetzt.

DEFAULT::NUM
ERSTEVARIABLE(STR) = Ein Wert
BEGIN UNTERBAUM
  ZAHL =  7
  ENDE = 42
  BEGIN UNTERUNTERBAUM
    TEST = 1
  END
END
ZWEITE = 2

Dies ergibt folgende Struktur: Der Wurzelknoten enthält drei Einträge: ERSTEVARIABLE, UNTERBAUM und ZWEITE. UNTERBAUM ist eine Unterbaum-Referenz. Der zugehörige Knoten enthält die Variablen ZAHL, ENDE und UNTERUNTERBAUM. Letztere ist wiederum eine Referenz auf einen Knoten, der nur die Variable TEST enthält. Insgesamt ergibt sich ein Baum mit drei Knoten.

Portabilität:
Diese Klasse ist in allen unterstützten Systemen verfügbar.


[i] CXI-Basis-Programmierreferenz
Version 2.10 72 (1014-001), erstellt am 15. April 2000
Textseite 222 von 855, Thema 8323 (ClassCxiTree)
[c] Copyright (c) 1996-2000 by TeraConnect GmbH

Sprung zum Seitenanfang Struktur Themen A...Z Titel << >>