WaBis

walter.bislins.ch

Wxml: Abfrage-Funktionen

Mit den Abfrage-Funktionen des Wxml-Moduls können Tag-Werte und -Knoten einer hierarchischen Tag-Struktur abgefragt werden, welche über die Funktion Parse aus einem String im WXML-Format aufgebaut worden ist.

TagsCount

c = wxmlTag.TagsCount()
wxmlTag: CxmlTag
Return: int
Grösse der Liste des Properties TagList des Objektes wxmlTag.

Wenn der Returnwert = 0 ist, handelt es sich bei wxmlTag um einen Werte-Tag, dessen Wert mit einer der Funktionen GetBool bis GetStr, GetArray oder GetStrArray abgefragt werden kann. Man kann aber auch direkt auf das Property Value (string) von wxmlTag zugreifen.

Wenn der Returnwert > 0 ist, handelt es sich bei wxmlTag um einen Tag-Knoten. Auf die Sub-Tags dieses Knoten kann über das Property TagList von wxmlTag zugegriffen werden oder über eine der folgenden Funktionen:

FindTag

i = wxmlTag.FindTag( aName )
wxmlTag: CxmlTag
aName: string
Name des gesuchten Tags.
Return: int
Index des Tags aName in der TagList von wxmlTag oder -1 falls nicht gefunden.

Sucht in der TagList des Tags wxmlTag nach dem ersten Tag mit dem Namen aName. Wenn wxmlTag kein Tag-Knoten ist oder kein Tag mit diesem Namen in seiner TagList vorkommt, wird -1 zurück gegeben. Sonst wird der Index (>= 0) des Tags mit dem Namen aName zurückgegeben.

Hinweis: Diese Funktion verwendet eine optimierte Suche. Die Suche ist optimal schnell, wenn die Tags in der Reihenfolge gesucht werden, in der sie in der TagList eingetragen sind.

Diese Funktion wird bei allen Funktionen GetXxxByName verwendet.

GetTagByName

set tag = wxmlTag.GetTagByName( aName )
wxmlTag: CxmlTag
aName: string
Name des gesuchten Tags.
Return: CxmlTag or Nothing

Sucht in der TagList des Tags wxmlTag nach dem ersten Tag mit dem Namen aName. Wenn wxmlTag kein Tag-Knoten ist oder kein Tag mit diesem Namen in seiner TagList vorkommt, wird Nothing zurück gegeben. Andernfalls wird eine Referenz auf den gefundenen Tag zurück gegeben.

Hinweis: Diese Funktion verwendet intern die optimierte Suchfunktion FindTag.

GetBool, GetInt, GetDate, GetStr

b = wxmlTag.GetBool()
i = wxmlTag.GetInt()
d = wxmlTag.GetDate()
s = wxmlTag.GetStr()
wxmlTag: CxmlTag

Liest das Property Value des Werte-Tags wxmlTag aus und wandelt es in den entsprechenden Datentyp um:

  • GetBool: boolean
  • GetInt: long
  • GetDate: date
  • GetStr: string

Hinweis: In Tags werden Werte immer in String-Form gespeichert. Wenn der entsprechende String nicht in den gewünschten Datentyp konvertiert werden kann, wird eine Fehlermeldung (Exception) erzeugt.

GetArray

arr = wxmlTag.GetArray()
wxmlTag: CxmlTag
Return: array of variant
Array der gleichen Grösse wie TagList.

Erzeugt einen Array der gleichen Grösse wie TagList des Tags wxmlTag und gibt ihn zurück. Die Elemente dieses Arrays sind leer.

Hinweis: Diese Funktion wird intern von GetStrArray benötigt. Um auf die Element des wxmlTag zuzugreifen, kann man direkt das Property TagList verwenden.

GetStrArray

sArr = wxmlTag.GetStrArray()
wxmlTag: CxmlTag
Return: array of string

Wenn wxmlTag ein Tag-Knoten ist gibt diese Funktion die Werte (Value) der Sub-Tags in einem String-Array zurück. Sonst wird ein leerer Array zurück gegeben.

Diese Funktion ist das Gegenstück zu AddStrArray.

GetBoolByIx, GetIntByIx, GetDateByIx, GetStrByIx

b = wxmlTag.GetBoolByIx( aIx )
i = wxmlTag.GetIntByIx(  aIx )
d = wxmlTag.GetDateByIx( aIx )
s = wxmlTag.GetStrByIx(  aIx )
wxmlTag: CxmlTag
aIx: int [0..UBound(TagList)]
Index des gewünschten TagList Elementes.

Wenn wxmlTag ein Tag-Knoten ist wird der Wert (Value) des Sub-Tags mit dem Index aIx ausgelesen, in den gewünschten Datentyp konvertiert und zurückgegeben. Wenn aIx kein gültiger Index ist, wird eine Fehlermeldung erzeugt (Exception).

Hinweis: In Tags werden Werte immer in String-Form gespeichert. Wenn der entsprechende String nicht in den gewünschten Datentyp konvertiert werden kann, wird eine Fehlermeldung (Exception) erzeugt.

GetArrayByIx

arr = wxmlTag.GetArrayByIx( aIx )
wxmlTag: CxmlTag
aIx: int [0..UBound(TagList)]
Index des gewünschten TagList Elementes.
Return: array of variant
Array der gleichen Grösse wie TagList des Tags mit Index aIx.

Wenn wxmlTag ein Tag-Knoten ist wird ein Array der gleichen Grösse wie TagList des Elementes TagList(aIx) des Tags wxmlTag erzeugt und zurück gegeben. Die Elemente dieses Arrays sind leer. Wenn aIx kein gültiger Index ist, wird eine Fehlermeldung erzeugt (Exception).

Hinweis: Diese Funktion wird intern von GetStrArrayByIx benötigt.

GetStrArrayByIx

sArr = wxmlTag.GetStrArrayByIx( aIx )
wxmlTag: CxmlTag
aIx: int [0..UBound(TagList)]
Index des gewünschten TagList Elementes.
Return: array of string

Wenn wxmlTag ein Tag-Knoten ist gibt diese Funktion ein Array der gleichen Grösse wie TagList des Elementes E = TagList(aIx) des Tags wxmlTag zurück. Das Element E ist in der Regel ebenfalls ein Tag-Konten. In diesem Fall wird der Array mit den Werten der Sub-Tags von E gefüllt.

Wenn aIx kein gültiger Index ist, wird eine Fehlermeldung erzeugt (Exception).

Diese Funktion ist das Gegenstück zu AddStrArray.

GetBoolByName, GetIntByName, GetDateByName, GetStrByName

b = wxmlTag.GetBoolByName( aName, aDefVal )
i = wxmlTag.GetIntByName(  aName, aDefVal )
d = wxmlTag.GetDateByName( aName, aDefVal )
s = wxmlTag.GetStrByName(  aName, aDefVal )
wxmlTag: CxmlTag
aName: string
Name eines Sub-Tags von wxmlTag.
aDefVal: boolean...string
Standardwert der zurückgegeben wird, falls das Tag aName im Objekt wxmlTag nicht existiert.

Wenn wxmlTag ein Tag-Knoten ist wird der Wert (Value) des Sub-Tags mit dem Namen aName ausgelesen, in den gewünschten Datentyp konvertiert und zurückgegeben. Wenn kein Tag aName in der TagList von wxmlTag vorkommt, wird aDefVal zurückgegeben.

Hinweis: In Tags werden Werte immer in String-Form gespeichert. Wenn der entsprechende String nicht in den gewünschten Datentyp konvertiert werden kann, wird eine Fehlermeldung (Exception) erzeugt.

Hinweis: Diese Funktion verwendet eine optimierte Suche. Die Suche ist optimal schnell, wenn die Tags in der Reihenfolge abgefragt werden, in der sie in der TagList eingetragen sind.

GetArrayByName

arr  = wxmlTag.GetArrayByName( aName )
wxmlTag: CxmlTag
aName: string
Name eines Sub-Tags von wxmlTag.

Wenn wxmlTag ein Tag-Knoten ist wird ein Array der gleichen Grösse wie TagList des Elementes TagList(aName) des Tags wxmlTag erzeugt und zurück gegeben. Die Elemente dieses Arrays sind leer. Wenn kein Tag aName in der TagList von wxmlTag vorkommt, wird ein leerer Array zurückgegeben.

Hinweis: Diese Funktion wird intern von GetStrArrayByName benötigt.

GetStrArrayByName

sArr = wxmlTag.GetStrArrayByName( aName )
wxmlTag: CxmlTag
aName: string
Name eines Sub-Tags von wxmlTag.
Return: array of string

Wenn wxmlTag ein Tag-Knoten ist gibt diese Funktion ein Array der gleichen Grösse wie TagList des Elementes E = TagList(aName) des Tags wxmlTag zurück. Das Element E ist in der Regel ebenfalls ein Tag-Konten. In diesem Fall wird der Array mit den Werten der Sub-Tags von E gefüllt.

Wenn kein Tag aName in der TagList von wxmlTag vorkommt, wird ein leerer Array zurückgegeben.

Diese Funktion ist das Gegenstück zu AddStrArray.

Weitere Infos zur Seite
Erzeugt Sonntag, 21. November 2010
von wabis
Zum Seitenanfang
Geändert Samstag, 18. Juli 2015
von wabis