コントロールを一括で処理したい

解決


にしょくとう  2008-06-17 18:51:06  No: 31006  IP: 192.*.*.*

表題の件ですが
たとえばText1 ・・・ Text10
というような10個のTeditコントロールがあります
そこで
for i := 1 to 10 do
begin
 Texti = i
end;
というようなことをしたのですが
どうすればよいのでしょうか

編集 削除
HOta  2008-06-17 19:03:59  No: 31007  IP: 192.*.*.*

たくさんサンプルも出ていますよ。

for I := 0 to Form1.Components.count - 1 do
  if Form1.Components[I] is TEdit then
  begin
    TEdit(Form1.Components[I]).text := IntToStr(I);
  end;

編集 削除
igy  2008-06-17 22:05:17  No: 31008  IP: 192.*.*.*

>たとえばText1 ・・・ Text10
>というような10個のTeditコントロールがあります

規則正しい名前を持つ場合は

連続する名前のエディットから効率よく値を取得するには?
https://www.petitmonte.com/bbs/answers?question_id=1882

のように FindComponent メソッド を使うのも、よいかと思います。

編集 削除
にしょくとう  2008-06-25 14:51:43  No: 31009  IP: 192.*.*.*

for i:= 1 to 10 do begin
  TEdit(FindComponent('Text' + IntToStr(i))).Text := IntToStr(i);
end;
でできましたありがとうございました。

編集 削除