Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Validar convercion strtoint (https://www.clubdelphi.com/foros/showthread.php?t=23250)

martita 11-07-2005 23:06:17

Validar convercion strtoint
 
hola foro, quiero validar la entrada de un tedit para realizar despues
convercion strtoint mas no se como hacer para validar que solo entren
datos numericos, tambien aprovechando quisiera saber como
validad un stringGrid para que tambien solo reciba valores numericos.

Gracias ....... y ya saben cual es el premio !!!!!!!!! ;)

lgarcia 11-07-2005 23:25:55

Validar conversion StrToInt
 
Hola

Con el procedimiento Val(Edit1.Text, I, Code) lo puedes lograr donde code para ser satisfactorio tiene que ser cero. En la ayuda de Delphi viene un ejemplo.

Saludos
Luis Garcia

_____________________________
La mejor manera de decir es hacer

Lepe 12-07-2005 10:16:13

Puede ser más cómoda la funcion StrToIntDef, si no se puede convertir la cadena a numero, suministras un valor predefinido, así no te lanza excepciones y no tienes que mirar códigos de error.

para que no introduzca los caracteres, podría ser algo así en el OnKeyDown del Tedit
Código Delphi [-]
const Numeros = ['0'..'9']
begin
if not(chr(key) in numeros)  and (key >30) then
  key := 0; // que no escriba esa tecla
end;
key > 30 es para permitir pulsar las teclas de control, insertar, suprimir, etc.

Modificalo segun lo necesites. Un saludo

martita 12-07-2005 17:47:16

Hola Lepe, Lo Agrege Pero No Funciona
 
Hola Lepe, sabes que agregue tu codigo a mi forma pero
sige aceptando letras en la captura. mira este es mi codigo

procedure Tfcorte.Edit2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);


const Numeros = ['0'..'9'];
begin

if not(chr(key) in numeros) and (key >30) then
key := 0; // que no escriba esa tecla


end;

no se que pasa pero sige aceptando entradas no numericas.
agradeceria muchisimo tu ayuda. Bye.

martita 12-07-2005 21:58:28

alguien mas que me pueda comentar sobre el caso ?
 
hola foro, hay alguien mas que me pueda comentar sobre este
problemita, ya puse el codigo anterior mas no funciona.

Gracias.. ;)

Fernando 12-07-2005 23:22:34

Descarga las Rxlib

ContraVeneno 12-07-2005 23:25:46

con las RXLib podría ser suficiente....
si no, prueba con la función

function TryStrToInt(const s: string; out i : integer): boolean;

Aquí hay un ejemplo

delphi.com.ar 12-07-2005 23:28:26

Cita:

Empezado por martita
hola foro, hay alguien mas que me pueda comentar sobre este
problemita, ya puse el codigo anterior mas no funciona.

Yo te recomiendo crear o bajar algun componente para este propósito. Simplemente porque lo vas a utilizar en mas de un sitio, y porque la única entrada de datos a los edits, no es el teclado. Si solo validas las teclas presionadas, pueden ingresar valores incorrectos desde el clipboard o mismo desde código. Por eso te recomiendo como dice Fernando, utilizar el TCurrencyEdit de las RxLibs, que son opensource, o puedo ofrecerte de mi página un juego de componentes con este fin, pero por desgracia no puedo publicar el código.

Saludos!

vtdeleon 12-07-2005 23:43:03

Saludos

Facilmente resolvi esto en el evento OnKeyPress del Edit
Código Delphi [-]
if not (key in ['0'..'9',#13,#8]) then key:=#0
Suerte;)

martita 13-07-2005 01:20:37

gracias por la ayuda
 
muchas gracias chicos por la ayuda, en realidad VTDELEON aclaro bien el
problema por lo que vi fue que LEPE publico que su codigo lo pusiera
en el evento onkeydown y en relidad debe ser como VTDELEON lo dice
en el evento onkeypress, y con eso ya funciono correctamente, gracias.

aprovechando , alguien me puede decir donde puedo bajar las Rxlibs
que funcionen con Delphi 2005 , pues lo que estoy utilizando.

Gracias a todos y les mando un Rico Besito
(se lo reparten en partes iguales);)

vtdeleon 13-07-2005 02:35:43

Saludos

Creo que este link: http://www.clubdelphi.com/foros/show...ght=Rxlib+2005 te puede orientar


La franja horaria es GMT +2. Ahora son las 18:25:30.

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