Otro punto:
Si haces lo del mensaje anterior, te queda algo como:
Código Delphi
[-]
if ComboBox3.Text = 'Sumar' then
begin
Edit4.Text := FloatToStr(StrToFloat(ComboBox4.Text) + StrToFloat(ComboBox5.Text));
Label4.Caption := strRespuestas[Edit3.Text = Edit4.Text];
Edit6.Text := FloatToStr(StrToFloat(ComboBox6.Text) + StrToFloat(ComboBox7.Text));
Label5.Caption := strRespuestas[Edit5.Text = Edit6.Text];
Edit8.Text := FloatToStr(StrToFloat(ComboBox8.Text) + StrToFloat(ComboBox9.Text));
Label6.Caption := strRespuestas[Edit7.Text = Edit8.Text];
Edit10.Text := FloatToStr(StrToFloat(ComboBox10.Text) + StrToFloat(ComboBox11.Text));
Label7.Caption := strRespuestas[Edit9.Text = Edit10.Text];
Edit12.Text := FloatToStr(StrToFloat(ComboBox12.Text) + StrToFloat(ComboBox13.Text));
Label8.Caption := strRespuestas[Edit11.Text = Edit12.Text];
Edit14.Text := FloatToStr(StrToFloat(ComboBox14.Text) + StrToFloat(ComboBox15.Text));
Label9.Caption := strRespuestas[Edit13.Text = Edit14.Text];
Edit16.Text := FloatToStr(StrToFloat(ComboBox16.Text) + StrToFloat(ComboBox17.Text));
Label10.Caption := strRespuestas[Edit15.Text = Edit16.Text];
Edit18.Text := FloatToStr(StrToFloat(ComboBox18.Text) + StrToFloat(ComboBox19.Text));
Label11.Caption := strRespuestas[Edit17.Text = Edit18.Text];
Edit20.Text := FloatToStr(StrToFloat(ComboBox20.Text) + StrToFloat(ComboBox21.Text));
Label12.Caption := strRespuestas[Edit19.Text = Edit20.Text];
Edit22.Text := FloatToStr(StrToFloat(ComboBox22.Text) + StrToFloat(ComboBox23.Text));
Label13.Caption := strRespuestas[Edit21.Text = Edit22.Text];
end;
para la suma. Pero para las otras operaciones,
lo único que cambia es el símbolo de la operación (+,-,*,/).
¡Algo debe poder hacerse para reducir las cuatro operaciones a una!
Podrías, por ejemplo, declarar una función:
Código Delphi
[-]
type
TOperacion = (opSuma, opResta, opMultiplicacion, opDivision);
function HazOperacion(Operando1, Operando2: Extended; Operacion: TOperacion): Extended;
begin
case Operacion of
opSuma: Result := Operando1 + Operando2;
opResta: Result := Operando1 - Operando2;
opMultiplicacion: Result := Operando1 * Operando2;
opDivision: Result := Operando1 / Operando2;
end;
end;
Si sustituyes
Código Delphi
[-]
Edit4.Text := FloatToStr(StrToFloat(ComboBox4.Text) + StrToFloat(ComboBox5.Text));
por
Código Delphi
[-]
Edit4.Text := FloatToStr(HazOperacion(
StrToFloat(ComboBox4.Text), StrToFloat(ComboBox5.Text), Operacion));
entonces bastará un
case al comienzo para escoger Operacion y entonces podrás usar el mismo código para las cuatro operaciones.
// Saludos