はじめまして。
初歩的な内容かもしれませんがご教授ください。
Edit1〜Edit10を作成し、ユーザに入力させた値を取得したいのですが、
せっかく?連番の名前なので、For文で取得できないのかな、と思っています。
(Edit[intN].Text のように)
良い方法があればご教授ください。
宜しくお願いします。
宣言部において
Edit : array[0..9] of TEdit;
とし、実装部において
for i := 0 to 9 do
Edit[i].Text := 'sample';
としたらどうでしょう?
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;
SKJP様、jok様、ありがとうございました。
始めたばかりの私には高度な内容でしたが、
すっきりしたコードで無事動作させることができました。
ありがとうございました。
ツイート | ![]() |