Ver la Versión Completa : Comprobar que es Integer
Alexis7788
28-09-2006, 11:29:53
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
mensana
28-09-2006, 11:34:05
// Código no comprobado
try
Valor := StrToInt(Edit1.Text);
Result := True;
except
on E:EConvertError do: Result := False;
end;
Bicho
28-09-2006, 11:57:42
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 (http://www.clubdelphi.com/foros/showthread.php?t=28742) hilo, a ver si te puede ayudar.
Saludos
BlueSteel
28-09-2006, 21:38:31
intenta con este código en el evento OnKeyPress del TEdit
If Key in ['0'..'9']=false then
If Key<>#8 then key:=#0;
espero que te sirva... a mi me funciona de maravilla :D
xelip
01-10-2006, 05:10:15
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...
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.