Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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.{
100
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.