Ver Mensaje Individual
  #4  
Antiguo 18-08-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por Chris Ver Mensaje
Normalmente siempre es más oportuno utilizar la función TryStrToFloat en lugar de StrToFloat. TryStrToFloat devuelve TRUE si la cadena dada en el primer parámetro solo tenía números, de lo contrario, devolverá FALSE.

Correcto, con TryStrToFloat ampliamos la opción a números reales.
Te comento javave que TryStrToInt funciona del mismo modo pero con enteros.

En ese caso la verificación OnKeyPress queda:
Código Delphi [-]
procedure TForm1.ValorKeyPress(Sender: TObject; var Key: Char);
begin
  if not (Key in [#8, #13, ',' , '0'..'9']) then // teclas permitidas BacSpace,Intro,'0'..'9', ',' o '.'
  begin
    Beep;
    Key:= #0;
  end;
end;

De acuerdo al delimitador especificado poné '.' o ','

Para especificarlo podés usar la variable DecimalSeparator.
Para el código de arriba:
Código Delphi [-]
  DecimalSeparator := ',';


Saludos.

Última edición por ecfisa fecha: 18-08-2010 a las 20:31:18.
Responder Con Cita