Comprobar que es Integer
Buenos días, necesito comprobar que un número introducido desde teclado en un TEdit es realmente un Integer. Alguien sabe cómo puedo hacerlo o cómo puedo recibir la Exception "EConvertError" que me hace cerrar la ejecución de la aplicación??
Mil gracias |
// Código no comprobado
try Valor := StrToInt(Edit1.Text); Result := True; except on E:EConvertError do: Result := False; end; |
Tambien puedes usar la función TrsStrToInt que devuelve false si no se puede convertir a entero y te ahora la excepción.
Tambien le puede echar un vistazo a éste hilo, a ver si te puede ayudar. Saludos |
intenta con este código en el evento OnKeyPress del TEdit
espero que te sirva... a mi me funciona de maravilla :D |
hola,
tambien se puede hacer con algo de algoritmizacion, es decir, un integer solo tiene 32 bit = 4 byte. si al numero que lees del edit, le restas 1 hasta que sea menos que 1, entoces comprobando despues si es 0 o no, sabras si es integer o no, en el peor de los caso tendras que restar 2 a la 32 veces, relativamente rapido: repeat i := i - 1; until i menor que 1 if i = 0 then es integer. Saludo... |
La franja horaria es GMT +2. Ahora son las 00:51:12. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi