WaBis

walter.bislins.ch

Seq: Parser API

Referenz : Serializer API | Parser API
Mit den Parser-Funktionen des Seq-Moduls können serialisierte Seq-Strings decodiert werden und damit serialisierte Objekt-Hierarchien wieder aufgebaut werden.

CParser

class CParser
  :
end class

Für das Erzeugen eines CParser Objektes gibt es die folgende Funktion:

NewParser

set parser = NewParser( aSeqString )
aSeqString: string
Return: CParser

Erzeugt ein CParser Objekt, welches einen Seq-String decodiren kann.

Ein CParser kann wiederverwendet werden, indem ihm mit der Funktion Init oder Parse ein neuer Seq-String zum parsen übergeben wird.

Init

parser.Init aSeqString
parser: CParser
aSeqString: string

Weist einem CParser einen neuen Seq-String zum parsen zu.

Parse

 myObj.Parse parser.Parse( aSeqString )
parser: CParser
aSeqString: string
Return: CParser
gibt den Parser parser zurück

Mit dieser Funktion kann einem bereits bestehenden Parser ein neuer Seq-String übergeben werden. Diese Funktion kombiniert die folgenden Zeilen in einer:

parser.Init aSeqString 
myObj.Parse parser

OpenSubData (Parser)

parser.OpenSubData
parser: CParser

Wenn beim Serialisieren mehrere Werte zu einer Sub-Struktur zusammengefasst wurde, muss diese Sub-Struktur mit OpenSubData beim Parsen geöffnet werden, um an die enthaltenen Daten zu gelangen.

Siehe auch:

CloseSubData (Parser)

parser.CloseSubData
parser: CParser

Schliesst eine offene Sub-Struktur.

Siehe auch:

SkipSubData

parser.SkipSubData
parser: CParser

Ignoriert eine Sub-Struktur. Diese Funktion ist nützlich, wenn nur Teile eines Seq-Strings geparst werden sollen. Man kann damit ganze Sub-Strukturen überlesen, ohne deren Inhalte decodieren zu müssen.

GetBoolD, GetNumD, GetDateD, GetStrD

b = parser.GetBoolD( aBoolDefault )
n = parser.GetNumD( aNumDefault )
d = parser.GetDateD( aDateDefault )
s = parser.GetStrD( aStringDefault )
parser: CParser
aBoolDefault: bool
aNumDefault: int, long, numeric
aDateDefault: date
aStringDefault: string

Mit diesen Funktionen wird der nächste Wert im Seq-String des Parsers decodiert und zurück gegeben. Wenn der Wert im Seq-String nicht vom verlangten Typ ist oder kein weiterer Wert in der aktuell offenen Sub-Struktur vorhanden ist, wird der entsprechende Default-Wert zurück gegeben.

GetBool, GetNum, GetDate, GetStr

b = parser.GetBool( )
n = parser.GetNum( )
d = parser.GetDate( )
s = parser.GetStr( )
parser: CParser

Mit diesen Funktionen wird der nächste Wert im Seq-String des Parsers decodiert und zurück gegeben. Wenn der Wert im Seq-String nicht vom verlangten Typ ist oder kein weiterer Wert in der aktuell offenen Sub-Struktur vorhanden ist, wird ein entsprechender Default-Wert zurück gegeben:

  • GetBool false
  • GetNum 0
  • GetDate CDate(0)
  • GetStr ""

GetFixStr

s = parser.GetFixStr( aStrLen )
parser: CParser
aStrLen: int
Länge des Fix-String
Return: string
String der Länge aStrLen

Liest einen String fixer Länge vom Seq-String des Parsers. Diese Funktion ist das Gegenstück zu AddFixStr.

GetStrArray

sList = parser.GetStrArray( )
parser: CParser
Return: array of string

Liest einen String-Array vom Seq-String des Parsers. Diese Funktion ist das Gegenstück zu AddStrArray.

Weitere Infos zur Seite
Erzeugt Freitag, 6. Januar 2012
von wabis
Zum Seitenanfang
Geändert Samstag, 20. Juli 2013
von wabis