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

解決


初心者です  2004-07-28 04:00:09  No: 10119  IP: [192.*.*.*]

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

編集    削除
SKJP  2004-07-28 04:40:15  No: 10120  IP: [192.*.*.*]

宣言部において

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  IP: [192.*.*.*]

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  IP: [192.*.*.*]

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

編集    削除