代表的なキーメソッドを紹介します。
その他のキーメソッドについては、REFERENCE「キーメソッド一覧」を参照してください。
%duplicate() キーツリーを複製するメソッドです。
引数:
[(int)キーツリー中にIキーを通して挿入されているキーセットも複製する=true]
[(int)キーツリー中のデータキー、プログラムキーを複製する=true]
戻り値:
(key)複製したキーツリー
サンプルでは、layout.ksfに定義したキーツリーを複製し、レイアウトとデータを画面左側に設定しています。
また、右側は複製する際の第2引数にfalseを設定し、データキーを複製せず、レイアウトのみ設定しています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
Kf(_Method_duplicate){ Pe{ /*キーステーションが最初に実行するキーセット*/ N(_main); } } K(_main){ U{ R{ C(#dispArea) C(#dispArea2) Pe(#init){ /* layout.ksfを読み込む */ $this%demandKS("_layout"); /* duplicate()メソッドでレイアウト定義を複製 */ (key)lo=_layout%duplicate(); /* 第2引数にfalseを設定し、データキーを複製しない */ (key)lo2=_layout%duplicate(true,false); /* データ項目を設定 */ sub(#SetData,lo); sub(#SetData,lo2); /* 表示エリアに追加 */ #dispArea%addC(lo,0); #dispArea2%addC(lo2,0); } } } X /* 値設定処理 */ Pe(#SetData,(key)lo){ (int)i=0; if(lo.PrefectureArray==null){ return; } foreach((key)pref,lo.PrefectureArray){ lo#row[i]?=pref?; i++; } } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
/* レイアウト定義 */ K(_layout){ Se{ @col{~back{~color="#FFFFFFFF";}~border{~style="solid";}~font{~color="#ff000000";~size="50";}} } De{ (key).PrefectureArray{ "東京","埼玉","千葉","神奈川","茨城","群馬" } } R(#row){ R(@col) R(@col) R(@col) R(@col) R(@col) R(@col) } } |
実行結果