Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-07-2005
martita martita is offline
No confirmado
 
Registrado: jun 2005
Posts: 146
Poder: 0
martita Va por buen camino
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 !!!!!!!!!
Responder Con Cita
  #2  
Antiguo 11-07-2005
lgarcia lgarcia is offline
Miembro
 
Registrado: jul 2004
Posts: 479
Poder: 20
lgarcia Va por buen camino
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
Responder Con Cita
  #3  
Antiguo 12-07-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
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
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #4  
Antiguo 12-07-2005
martita martita is offline
No confirmado
 
Registrado: jun 2005
Posts: 146
Poder: 0
martita Va por buen camino
Question 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.
Responder Con Cita
  #5  
Antiguo 12-07-2005
martita martita is offline
No confirmado
 
Registrado: jun 2005
Posts: 146
Poder: 0
martita Va por buen camino
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..
Responder Con Cita
  #6  
Antiguo 12-07-2005
Fernando Fernando is offline
Miembro
 
Registrado: ago 2003
Posts: 77
Poder: 21
Fernando Va por buen camino
Descarga las Rxlib
Responder Con Cita
  #7  
Antiguo 12-07-2005
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
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
__________________

Responder Con Cita
  #8  
Antiguo 12-07-2005
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
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!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #9  
Antiguo 12-07-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
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
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!

Última edición por vtdeleon fecha: 12-07-2005 a las 23:46:19.
Responder Con Cita
  #10  
Antiguo 13-07-2005
martita martita is offline
No confirmado
 
Registrado: jun 2005
Posts: 146
Poder: 0
martita Va por buen camino
Lightbulb 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)
Responder Con Cita
  #11  
Antiguo 13-07-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Saludos

Creo que este link: http://www.clubdelphi.com/foros/show...ght=Rxlib+2005 te puede orientar
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 23:49:21.


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
Copyright 1996-2007 Club Delphi