超初心者です。
Button1をクリックすると
コンボボックスにfor文で1〜100の値を入れるようにしています。
その後に、コンボボックス内の値をクリックすると、横に
配置している1つのエディットに入力ができ、さらにその数値を保持
しておいたまま、コンボボックスの別の値をクリックすると同エディットに
新しく入力が出来るといったプログラムが作成したいと思っています。
最終的には各値を使い、計算をしたいのです。
コンボボックス内の1つ1つのアイテムに対応したエディットの
作成は出来るのでしょうか?
どなたか助けてください、お願いいたします。
自動生成で100個の Editを作りたいってこと?
それはリソースのムダというもの。
TStringsまたは、TStringListを使いなさい。
要素数100の配列を用意してもいいね。
Editは、入力用に1個だけあればOK。
質問の答えにはなってないけど
こんな感じでどうかな?
procedure TForm10.FormCreate(Sender: TObject);
var
I : Integer;
begin
for I:=0 to 100 do
begin
ComboBox1.Items.AddObject(IntToStr(I),TObject(-1));
end;
ItemIndex := -1;
Select := False;
end;
procedure TForm10.Button1Click(Sender: TObject);
var
G,I,J : Integer;
begin
G := 0;
for I:=0 to ComboBox1.Items.Count -1 do
begin
J := Integer(ComboBox1.Items.Objects[I]);
if J<>-1 then
begin
G := G + J;
end;
end;
G := G + StrToIntDef(Edit1.Text,0);
Label1.Caption := '合計は '+IntToStr(G);
end;
procedure TForm10.ComboBox1CloseUp(Sender: TObject);
begin
if Select = True then
begin
ComboBox1.Items.Objects[ItemIndex] := TObject(StrToIntDef(Edit1.Text,-1));
end;
Edit1.Text := '';
Select := False;
end;
procedure TForm10.ComboBox1Select(Sender: TObject);
begin
ItemIndex := ComboBox1.ItemIndex;
if Integer(ComboBox1.Items.Objects[ItemIndex]) <> -1 then
begin
Label1.Caption := '既に入力されています';
end;
Select := True;
end;
もし、入力する値が整数値限定なら、この↑Objects利用でいいね。
編集 削除