Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
Delphi 12 Athens
|
Re: Comboboxen Summieren bei onChange
9. Feb 2010, 14:38
Du könntest die Zahlen als Objekte in den Items der Comboboxen hinterlegen und jeder Combobox dasselbe OnChange-Ereignis zuweisen. Schnelles Beispiel (DoOnChange ist die Ereignisbehandlungsroutine aller Comboboxen):
Delphi-Quellcode:
//wird im OnChange der Comboboxen ausgeführt
procedure TFormBla.DoOnChange(Sender: TObject);
var Summe: integer;
begin
Summe := 0;
if ComboBox1.ItemIndex > -1 then
Summe := Summe + integer(ComboBox1.Items.Objects[ComboBox1.ItemIndex]);
if ComboBox2.ItemIndex > -1 then
Summe := Summe + integer(ComboBox2.Items.Objects[ComboBox2.ItemIndex]);
if ComboBox3.ItemIndex > -1 then
Summe := Summe + integer(ComboBox3.Items.Objects[ComboBox3.ItemIndex]);
if ComboBox4.ItemIndex > -1 then
Summe := Summe + integer(ComboBox4.Items.Objects[ComboBox4.ItemIndex]);
Edit1.Text := inttostr(Summe);
end;
procedure TFormBla.FormCreate(Sender: TObject);
var i: integer;
begin
//Zahlen als Objekte in den Items speichern
for i := 1 to 4 do
begin
ComboBox1.Items.AddObject(Format('%d',[i * 10]),TObject(i*10));
ComboBox2.Items.AddObject(Format('%d',[i * 10]),TObject(i*10));
ComboBox3.Items.AddObject(Format('%d',[i * 10]),TObject(i*10));
ComboBox4.Items.AddObject(Format('%d',[i * 10]),TObject(i*10));
end;
end;
Detlef "Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
|