どんなアプリでも多分大量のオブジェクトが入っていると思います
テキストでも、ボタンでも
機能は別々のボタンだったら、もちろん一つずつ設置しなきゃいけないですが
もし機能が一緒の大量のオブジェクトを作りたい場合はどうすればいいですか?
Delphiで大量のオブジェクトを一気に処理するのをメモしたいと思います
目次
生成
最初はもちろん大量のオブジェクトを作ります
(ここ以下は オブジェクトーLabel を使って説明したいと思います
Label1
Label2
Label3
Label4
Label5
出来れば名前があるルールがあった方がいいです
(代入しやすいため
次は Label の配列を宣言します
(private publicどっちでも大丈夫です
ObLabel : Array[0..4] of TLabel ;
こういう感じですね
代入
準備が整えたら、代入に入りまーす
FormCreateのとここの処理を入れます
for i := 0 to Length(ObLabel) -1 do
begin
ObLabel[i] := TLabel(FindComponent('Label' + IntToStr(i+1)));
end;
そう、最初作った大量のテキストを配列の中に入れて宣言した配列を使ったら
一気に処理できるっていうことです
もしオブジェクトの名前はルールがない場合は、一つ一つ代入すればいいっすね
(めんどくさいけどw
処理
次はもう簡単だと思いますね
メソッドを用意して、呼べばいいってことですね
FormShowのとこ処理を入れてみます
for i := 0 to Length(ObLabel) -1 do
begin
if ObLabel[i] = TLabel(Sender)
begin
ObLabel[i].Text := 'テキスト' + IntToStr(i+1);
end;
end;
こんな感じです
まとめ
オブジェクトを作る
配列を宣言する
オブジェクトを配列の中に代入する
処理を入れる