階層化されたオブジェクトを配列として生成することができます。
例
Form frm { Width = 800; Height = 600; Form fArray[3] { X = 10; Y = 10; Width = 190; Height = 100; Border = $TRUE; LayoutMargin = 2; Button btn { X = 10; Y = 10; Width = 170; Height = 30; Title = "button"; } Button btnArray[3] { X = 10; Y = 50; Width = 50; Height = 30; Layout = $HORIZONTAL; LayoutMargin = 10; Title &= str(Index + 1) + "番"; } } }
このような構造をもつ配列に対しても、Insert、Deleteメソッドにより、配列要素の操作を行うことができます。
例
frm.fArray[1].Delete();
を実行した結果の表示
例
frm.fArray[1].btnArray[2].Delete(); frm.fArray[0].btnArray.Insert(1);
を実行した結果の表示
配列化されたオブジェクトからGETメソッドにより、配列要素に対して別のCRSスクリプトをロードして実行することができます。
例
Form frm { Width = 800; Height = 600; Form fArray[3] { X = 10; Y = 10; Width = 190; Height = 90; Border = $TRUE; LayoutMargin = 2; } fArray[0].Get("frm1.crs"); fArray[1].Get("frm2.crs"); fArray[2].Get("frm3.crs"); }
この例の場合、frm.fArrayは配列オブジェクトとなりますが、個別にロードされたCRSスクリプトに定義されているチェックボックスやボタンはfrm.fArrayの配列とは関連せず、個々の配列要素に固有のオブジェクトツリーに接続される事に注意してください。従って、frm.fArray.Insert()を実行しても、fArrayの新しい要素には何もオブジェクトは表示されません。