PDA

Ver la Versión Completa : Como saber si se entro una cadena determinada en un edit


Tauro78
26-03-2007, 05:47:03
hola a todos, como puedo saber si en un edit se entro como cadena una combinacion de 0 y puntos, osea, quiero controlar que solo entren el 0, no debe aceptar 0.000 o .000 o cualquier combinacion de estos. Desde ya muchas gracias.

droguerman
26-03-2007, 06:34:32
quizás la forma más sencilla sea usar expresiones regulares, existe una clase llamada TRegExp, no tengo el url a la mano pero quizas te pueda servir esta otra http://home.clear.net.nz/pages/niche/regex.html.

Lepe
26-03-2007, 11:18:03
Una forma simple podría ser esta en el OnkeyPress del Edit:


if key in [sysutils.DecimalSeparator, sysutils.ThousandSeparator] then
key := #0; // anulamos la tecla si es un punto o una coma.
else if key in ['0'-'9',#8,#9] then // eso de 8 y 9 es para permitir la tecla retroceso
hacer lo que sea
else
key := #0


Si no dejamos escribir el punto ni la coma, ya no podrá escribir ningún valor flotante. Eso si, ten cuidado porque con copiar y pegar si puede escribir dicho caracter, quizás deberías hacer una rutina ValidaCadena (http://www.clubdelphi.com/foros/showpost.php?p=52187&postcount=5) que coja el texto del edit y elimine el caracter punto o coma... más o menos como he hecho ahí.

Saludos