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;

のようにまとめて扱うことができるようになる。