初心者です、教えてください。
例えば
EX1 : TDefault;
EX2 : TDefault;
EX3 : TDefault;
EX4 : TDefault;
と変数宣言があります。
ボタンを押したときにEX1のStatusを変更したい場合、
ボタンONイベント→ EX1.Status := 1;
などと変更していますが、4つ変更したい場合は
EX1.Status := 1;
EX2.Status := 1;
EX3.Status := 1;
EX4.Status := 1;
としなければいけないのでしょうか(実際は30個ある)
ループとかでまわして、
EX○.Status := 1;
と○の中を書き換えていきすべてのStatusを1に変えるということ
は可能でしょうか。
可能であればやり方を教えてください。
よろしくお願いします。
配列を使われてはいかがでしょうか。
var
EX: array of Tdefault;
I: integer;
begin
SetLength(EX, 10);
for I := Low(EX) to High(EX) do
begin
EX[I] := TDefault.Create;
EX[I].Status := 1;
end;
回答ありがとうございます。
わからないので再度お願いします。(ちょっと説明が足りませんでした)
EX1、EX2、EX3、・・・、EX30はそれぞれボタンです。
EX1ボタンを押すとEX1のStatusが1になるようなボタンです。
ALL Status Changeみたいなボタンを新たに作って、そのボタンを押したときにEX1〜EX30のそれぞれのStatusの値が1に変わるようにしたいです。
実際に
ALL Status Changeを押すイベント→
EX1.Status := 1;
EX2.Status := 1;
EX3.Status := 1;
・
・
・
EX30.Status := 1;
と全て書けば済むことですが、きれいな形ではないです。
配列はうまくできませんでした。
FindComponentを使えば出来るのではないでしょうか。
tonoさん、pekesukeさん
解決できました。
便利な機能があったんですね。
ありがとうございます。
ツイート | ![]() |