Delphiでコンポーネントを配列にまとめて扱う
複数のコンポーネントが同じタイミングで同じような処理をするとき、
それらのコンポーネントをまとめて扱えたほうが便利。
例えば
type TForm1 = class(TForm) Adrs1: TEdit; Adrs2: TEdit; Adrs3: TEdit; Adrs4: TEdit; Adrs5: TEdit; private { Private 宣言 } public { Public 宣言 } end;
と宣言されているとき、private部にでも
Adrs: array [1..5] of TEdit;
と、宣言を追加し、
フォームのOnCreateイベント等で
procedure TForm1.FormCreate(Sender: TObject); var i: Integer; begin for i := 1 to 5 do Adrs[i] := TEdit(FindComponent('Adrs' + IntToStr(i))); end;
のようにコンポーネントを格納すれば、
procedure TForm1.FormShow(Sender: TObject); var i: Integer; begin for i := 1 to 5 do Adrs[i].Text := ''; end;
のようにまとめて扱うことができるようになる。