API version 1
- ‐
>>¶
オブジェクトとその子孫オブジェクトからプロパティ値を一括取得します。
右辺のオブジェクトにより動作が変わります。
取得ルール
オブジェクト >> XmlDocumentオブジェクト
左辺のオブジェクトおよびその子オブジェクトのプロパティを、右辺のXmlDocumentオブジェクトに一括取得します。
取得操作例
TabFrame TabFrame1 {
x = 0; y = 0; width = 300; height = 200;
TabForm TabForm1[2] {
Label Label1 { x = 0; y = 0; width = 100; height = 20; }
Button Button1 { x = 0; y = 20; width = 100; height = 20; }
}
}
EditBox EditBox1 {
x = 0; y = 200; width = 300; height = 200;
}
XmlDocument x;
TabFrame1 >> x;
EditBox1.value = x.toString();
子オブジェクト・プロパティと、XML要素との対応は以下のようになります。
子オブジェクトはXMLの<object>要素に対応します。オブジェクト名はname属性で指定出力します。
配列オブジェクトは、name属性が同じ<object>要素を繰り返します。
プロパティはXMLの<property>要素に対応します。プロパティ名はname属性で指定し、プロパティ値は要素内テキストで指定出力します。
オブジェクト型のプロパティは、基本的には出力しませんが、準プリミティブ型(Border/Brush/Color/Font/Gradient/Margin)プロパティについては、<property>要素の下に<property>要素を作ることで、プロパティオブジェクトのプロパティ値を指定出力します。その場合、データ型をtype属性に出力します。
<property name="fgColor" type="CRS::Common::UI::Color">
<property name="r">255</property>
<property name="g">128</property>
<property name="b">64</property>
</property>
オブジェクト >> JsonDocumentオブジェクト
左辺のオブジェクトおよびその子オブジェクトのプロパティを、右辺のJsonDocumentオブジェクトに一括取得します。
取得操作例
TabFrame TabFrame1 {
x = 0; y = 0; width = 300; height = 200;
TabForm TabForm1[2] {
Label Label1 { x = 0; y = 0; width = 100; height = 20; }
Button Button1 { x = 0; y = 20; width = 100; height = 20; }
}
}
EditBox EditBox1 {
x = 0; y = 200; width = 300; height = 200;
}
JsonDocument j;
TabFrame1 >> j;
EditBox1.value = j.toString();
子オブジェクト・プロパティと、JSONデータとの対応は以下のようになります。
オブジェクトは、キーがオブジェクト名、値がプロパティ・子オブジェクトを格納した連想配列に対応します。
配列オブジェクトは、値を配列にします。
プロパティは、キーがプロパティ名、値がプロパティ値に対応します。
オブジェクト型のプロパティは、基本的には出力しませんが、準プリミティブ型(Border/Brush/Color/Font/Gradient/Margin)プロパティについては、そのオブジェクトの値を連想配列で指定します。その場合、データ型を@typeをキーとする値に出力します。
"fgColor": {
"@type": "CRS::Common::UI::Color",
"r": 255,
"g": 128,
"b": 64,
}
呼出形式一覧
呼出形式 |
説明 |
---|---|
|
オブジェクトとその子孫オブジェクトからプロパティ値を一括取得します。 |
戻り値一覧
戻り値 |
説明 |
---|---|
元になるオブジェクト |
引数一覧
引数 |
説明 |
---|---|
ref |
出力先のxmlDocumentまたはjsonDocument |
例外
コード |
説明 |
---|---|
SYS-26:2 |
'>>'オペレータを使用できません |