API:CDataNodeList

Aus STNE-Wiki

(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Erster Entwurf zu CDataNodeList)
 
Zeile 34: Zeile 34:
"Storage" ist hier vom Typ [[API:CDataNodeStorage|CDataNodeStorage]].
"Storage" ist hier vom Typ [[API:CDataNodeStorage|CDataNodeStorage]].
 +
 +
 +
== Typisches Beispiel ==
 +
 +
 +
    Var Storage As New CDataNodeStorage('Mein Datenspeicher', 1);
 +
    Storage.Items.Add('BerechtigteUser');
 +
    If( not Storage.Items.Item('BerechtigteUser').Items.ContainsKey(CStr(MyShip.UserID)))
 +
    {
 +
      Storage.Items.Item('BerechtigteUser').Items.Add(CStr(MyShip.UserID));
 +
    }   
 +
An jeder Stelle wo ''Items'' steht wird eine {{Code|CDataNodeList}} "verwendet". Diese Zeilen öffnen bzw. erstellen eine Datenbank mit dem Namen "Mein Datenspeicher", fügen der obersten Ebene des Speichers (Ebenen siehe [[API:CDataNodeStorage|CDataNodeStorage]]) einen Knoten "BerechtigteUser" hinzu und fügen diesem Knoten (auch wieder über "Items"/{{Code|CDataNodeList}}) einen Unterknoten mit der UserID des Users der das Portal installiert hat hinzu. Vorher wird noch geprüft, ob dieser Knoten evtl. schon vorhanden ist (sollte immer gemacht werden sonst gibt es Laufzeitfehler).

Aktuelle Version vom 20. August 2010, 17:00 Uhr

fertige Scripte | Anleitungen und FAQ | Überblick über die Scripting-Sektion | API-Übersicht | Hilfen zum Arbeiten im Wiki

Allgemein

CDataNodeList ist ein Listenobjekt, welches Objekte vom Typ CDataNode aufnimmt. Es ist das "Arbeitstier" der Datenbank-Verwaltung und kommt bei jeder Abfrage oder beim Schreiben in eine Datenbank vor.


In den meisten Fällen erstellt man keine CDataNodeList direkt, sondern erhält diese direkt aus einem CDataNodeStorage oder CDataNode:

Var Liste As New CDataNodeList;

Parameter hat die "New" Funktion nicht.


Man kann nun entweder einzelne CDataNodes manuell zur Liste hinzufügen

   Liste.Add(Node);

wobei "Node" hier vom Typ CDataNode sein muss


oder man erstellt eine Liste aus einem CDataNode

   Liste = Node.Items;


oder übernimmt die oberste Ebene eines CDataNodeStorage

   Liste = Storage.Items;

"Storage" ist hier vom Typ CDataNodeStorage.


Typisches Beispiel

   Var Storage As New CDataNodeStorage('Mein Datenspeicher', 1);
   Storage.Items.Add('BerechtigteUser');
   If( not Storage.Items.Item('BerechtigteUser').Items.ContainsKey(CStr(MyShip.UserID)))
   {
      Storage.Items.Item('BerechtigteUser').Items.Add(CStr(MyShip.UserID));
   }    

An jeder Stelle wo Items steht wird eine CDataNodeList "verwendet". Diese Zeilen öffnen bzw. erstellen eine Datenbank mit dem Namen "Mein Datenspeicher", fügen der obersten Ebene des Speichers (Ebenen siehe CDataNodeStorage) einen Knoten "BerechtigteUser" hinzu und fügen diesem Knoten (auch wieder über "Items"/CDataNodeList) einen Unterknoten mit der UserID des Users der das Portal installiert hat hinzu. Vorher wird noch geprüft, ob dieser Knoten evtl. schon vorhanden ist (sollte immer gemacht werden sonst gibt es Laufzeitfehler).


Methoden

Die wichtigsten Eigenschaften oder Methoden sind die folgenden:

Methode Erklärung
Add Fügt einen CDataNode ein. Es gbt dabei mehrere Möglichkeiten (siehe Objektexplorer)
AddDate Nützlich um Objekte vom Typ Date hinzuzufügen. Es gibt noch weitere Add-Methoden im Objektexplorer aufgelistet.
Clear Löscht den Listeninhalt (VORSICHT: Es werden auch alle Unterknoten gelöscht!)
ContainsKey Sehr wichtig. Übernimmt einen String und gibt einen Boolean-Wert zurück ob der Knoten mit diesem Namen in der Liste ist
Count Gibt einen Integer-Wert zurück mit der Anzahl der Knoten in der Liste
Item Gibt den entsprechenden CDataNode zurück. Beispiel: Storage.Items.Item('Knoten'); (siehe CDataNodeStorage)
Parent Liefert den übergeordneten CDataNode zurück.
Remove Löscht einen bestimmten CDataNode in der Liste.
Rename Benennt einen CDataNode aus der Liste um.

Die vollständige Liste findest du direkt im Objektexplorer unter (http://game.stne.net/ObjectExplorer.aspx?p=CDataNodeList)


--SimonSlater 16:28, 20. Aug. 2010 (CEST)

Persönliche Werkzeuge