PDA

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...