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

解決


にしょくとう  2008-06-18 03:51:06  No: 31006

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


HOta  2008-06-18 04:03:59  No: 31007

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

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-18 07:05:17  No: 31008

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

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

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

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


にしょくとう  2008-06-25 23:51:43  No: 31009

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


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加