Combobox delphi

cs_piscine Messages postés 43 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 avril 2005 - 9 juil. 2004 à 10:27
cs_piscine Messages postés 43 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 avril 2005 - 15 juil. 2004 à 05:28
bonjour à tous, je suis sur que vous pouvez m'aider, voici mon (un de mes) problèmes:
je voudrais additionner les valeurs choisies contenues dans plusieurs combobox et les afficher
merci à vous

2 réponses

japee Messages postés 1727 Date d'inscription vendredi 27 décembre 2002 Statut Modérateur Dernière intervention 6 novembre 2021 8
9 juil. 2004 à 12:06
Tes valeurs, ce sont des entiers (integer) ou des réels (real) ?

En gros, tu peux faire comme ça:

procedure TForm1.Button1Click(Sender: TObject);
var Total: Real;  // on s'occupe de réels
begin
  try
    Total := StrToFloat(ComboBox1.Text) + StrToFloat(ComboBox2.Text);
  except
    on EConvertError do Total := 0;
  end;
  Edit3.Text := FloatToStr(Total);
end;

procedure TForm1.Button2Click(Sender: TObject);
var Total: Integer;  // on s'occupe d'entiers
begin
  Total := StrToIntDef(ComboBox1.Text, 0) + StrToIntDef(ComboBox2.Text, 0);
  Edit3.Text := IntToStr(Total);
end;


Je te conseille vivement de consulter l'aide en ligne de Delphi, aux rubriques concernant les routines de conversion de type (IntToStr, StrToInt, StrToIntDef, FloatToStr, FloatToStr...), tu vas y découvrir des trésors... ;)

Bonne prog' :-p
0
cs_piscine Messages postés 43 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 avril 2005
15 juil. 2004 à 05:28
Merci pour ta réponse mais j'ai résolu le probl. autrement. Ma question n'était en fait pas trés claire. Il me fallait bien additionner les valeurs des 4 combobox mais ceux-ci sont remplis par des items du genre : très mauvais, mauvais, moyens, bon qui valent chacun : 1, 2, 3, 4. J'ai ajouté des édits correspondants à chaque combobox et c'est eux que j'additionne.
Ex:
procedure TForm1.ComboBox1Change(Sender: TObject);
begin

eEPhy.Text:= IntToStr(ComboBox1.ItemIndex);
total := ((strtoint(eEPhy.Text)+1)+(strtoint(eEMent.Text)+1)+(strtoint(eAct.Text)+1)
+(strtoint(eMob.Text)+1)+(strtoint(eInc.Text)+1) );
LScore.caption := inttostr(total);

end;

procedure TForm1.ComboBox2Change(Sender: TObject);
begin
eEMent.Text:= IntToStr(ComboBox2.ItemIndex);
total := ((strtoint(eEPhy.Text)+1)+(strtoint(eEMent.Text)+1)+(strtoint(eAct.Text)+1)
+(strtoint(eMob.Text)+1)+(strtoint(eInc.Text)+1) );
LScore.caption := inttostr(total);

end;

etc.
0
Rejoignez-nous