2011-11-19 10 views

Respuesta

10

No estoy seguro si la TryStrToFloat ya está en Delphi 7, pero si es así me gustaría hacerlo de esta manera.

procedure TForm1.ComboBox1Change(Sender: TObject); 
var 
    Value: Double; 
begin 
    if TryStrToFloat(ComboBox1.Text, Value) then 
    T := T + Value 
    else 
    ShowMessage('You''ve entered wrong value ...'); 
end; 
+0

+1, TryStrToFloat existe en D7 – Simon

+1

¡Funcionó y era exactamente lo que necesitaba! – enflam3

+1

Hm, no sabía acerca de 'TryStrToFloat()', aunque siempre utilicé 'StrToFloatDef()' que está en la misma unidad (SysUtils). +1 – talereader

4
// ItemIndex is the index of the selected item 
// If no item is selected, the value of ItemIndex is -1 
if (ComboBox1.ItemIndex >= 0) then 
begin 
    t := t + StrToFloat(ComboBox1.Items[ComboBox1.ItemIndex]); 
end; 
+1

O mejor [TryStrToFloat] (http://docwiki.embarcadero.com/VCL/en/SysUtils.TryStrToFloat) y se puede usar 'ComboBox1.Text' en lugar de' ComboBox1.Items [ComboBox1.ItemIndex]) ' – TLama

+0

Hay un extra") "en el código. Después de quitarlo, funcionó bien. ¡Gracias! – enflam3

+0

Personalmente, no me gusta este código porque usa dos referencias a la propiedad ComboBox1.ItemIndex. No estoy seguro de cuál es el método de lectura para esta propiedad, tal vez solo lee un campo, por lo que no hay una penalización por el rendimiento, pero simplemente se siente mal. – dummzeuch

Cuestiones relacionadas