†Sibylのお部屋†

コンポーネントの配列化

作成開始日 2022.04.10
最終更新日 2022.04.11

Sibylでは、フォーム・デザイナ上でコンポーネントの配列を作成することはできないようだ。しかし、コンポーネントはポインタなので、同型の配列に代入すれば代用可能。たとえば、Label1〜Label5を配列化したければ;
Var
  LbAry: array[1..5] of TLabel;

Begin
  LbAry[1]:=Label1;
  LbAry[2]:=Label2;
  LbAry[3]:=Label3;
  LbAry[4]:=Label4;
  LbAry[5]:=Label5;
これで、ラベルの配列と各ラベルは等価となり、参照はもちろん、代入も有効になる。たとえば、3番目の配列に値を代入すると;
LbAry[3].Caption:='abc';	// Label3に「abc」と表示される
なお、この方法では、配列化するコンポーネントを1つずつ配列に代入する必要があり、FormのOcCreateで処理するにしても、だらだらとした記述が必要となる。そう考えると、10個程度が美的限界のような気はする。


【Sibylのお部屋目次】 【ホーム】