連続する名前のエディットから効率よく値を取得するには?

解決


初心者です  2004-07-28 04:00:09  No: 10119

はじめまして。
初歩的な内容かもしれませんがご教授ください。
Edit1〜Edit10を作成し、ユーザに入力させた値を取得したいのですが、
せっかく?連番の名前なので、For文で取得できないのかな、と思っています。
(Edit[intN].Text のように)
良い方法があればご教授ください。
宜しくお願いします。


SKJP  2004-07-28 04:40:15  No: 10120

宣言部において

Edit : array[0..9] of TEdit;

とし、実装部において

for i := 0 to 9 do
  Edit[i].Text := 'sample';

としたらどうでしょう?


jok  2004-07-28 07:33:26  No: 10121

procedure TForm1.Button1Click(Sender: TObject);
var
  comp:TComponent;
  i:integer;
begin
  for i := 1 to 10 do
  begin
    comp := FindComponent('Edit'+IntToStr(i));
    if Assigned(comp) then Memo1.Lines.Add(TEdit(comp).Text);
  end;
end;


初心者です  2004-07-28 22:01:38  No: 10122

SKJP様、jok様、ありがとうございました。
始めたばかりの私には高度な内容でしたが、
すっきりしたコードで無事動作させることができました。
ありがとうございました。


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

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






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