...
Der Zugriff auf einzelne Elemente wird mit dem Operator . (Punkt) gemacht: . Sind mehrere Elemente mit dem selben Namen vorhanden (was vor allem beim Verarbeiten von XML Daten passieren kann), dann kann mit dem Operator .[ ] auf aufeinander folgende Elemente zugegriffen werden.
Ist ein Elementname nicht ein normalerweise gültiger Bezeichner (enthält z.B. Sonderzeichen oder eine Zahl am Anfang), dann kann mit dem Operator { } darauf zugegriffen werden. Dieser Operator kann auch für Teile eines Namens und mehrfach eingesetzt werden.
Lo_Object = {"Text1":"T1","TextA":"TA1","TextA":"TA2", "123$Text2":"T2", "Obj" : {"ObjectMember1" : 123, "ObjectMember2":234} }; Ls_Text = Lo_Object.Text1; // ergibt "T1" Ls_Text = Lo_Object.TextA; // ergibt "TA1" Ls_Text = Lo_Object.TextA.[0]; // ergibt ebenfalls "TA1" Ls_Text = Lo_Object.TextA.[1]; // ergibt "TA2" Ls_Text = Lo_Object.{123}{"$"}Text{2}; // ergibt "T2" Ls_Text = Lo_Object.{"123$"}Text2; // ergibt ebenfalls "T2" Ls_Text = Lo_Object.{ |
---|
10*10 + 23}{"$" + "Text2"}; // ergibt ebenfalls "T2" Li_i = 1; Li_Value = Lo_Object.Obj.ObjectMember{Li_i}; // ergibt 123 Li_Value = Lo_Object.Obj.ObjectMember{Li_i+1}; // ergibt 234 |
---|
...
Wenn ein .object Objekt mit Opus befüllt werden soll, dann kann dies mit dem Operator .< gemacht werden für die Zuweisung muss dann der Operator := verwendet werden.
In folgendem Beispiel wird ein solches Objekt erzeugt:
Lo_Object = {}; // leeres Objekt |
---|
Lo_Object.<Text1 := "Text1"; Lo_Object.<Text2 := "Text2"; Lo_Object.<Array := ["t11","t12","t13"]; Lo_Object.<Array := [["a21","a32","a43"],["b24","b35","b46"],["c27","c38","c49"]]; Lo_Object.<Value1 := 3; Ls_Text = Lo_Object.Array[2]; // ergibt "t13" Ls_Text = Lo_Object.Array.[0][2]; // ergibt ebenfalls "t13" Ls_Text = Lo_Object.Array.[1][2][1]; // ergibt "c38" Lc_Char = Lo_Object.Array.[1][2][1][2]; // ergibt '8' |
---|
Standardtypenkonversionen:
keine.