Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-11-2003
Ricsato Ricsato is offline
Miembro
 
Registrado: oct 2003
Ubicación: Mexicali, Mexico
Posts: 72
Poder: 21
Ricsato Va por buen camino
Como Validar un campo numerico?

Hola a todos, me gustaria que alguien me dijera como hacerle para validar la lectura de un dato numerico en un Edit, sin utilizar el Maskedit. Inserte el siguiente codigo:

try
kms:=Strtoint(Edit2.Text);
except
on E: EConvertError do
MessageDlg('Lectura no es valida!!!', mtError, [mbOk], 0);
end;

y cuando leo letras el programa se me revienta sin mostrarme este mensaje de error.

Gracias
Responder Con Cita
  #2  
Antiguo 13-11-2003
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Probé tu código y no presenta ningún problema; el mensaje se muestra correctamente cuando se introducen letras. Pareciera que el error está en otra parte. Quizá algo antes de la conversión está generando una excepción que no detectas.

// Saludos
Responder Con Cita
  #3  
Antiguo 14-11-2003
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
otra forma de hacerlo sin utilizar las excepciones podria ser esta:

Código:
      if trystrtoint (dbedit2.Text,i) then
      begin
          // se ha podido convertir y el valor está en la variable "i"
      end
      else   // no se ha podido convertir a numero

Saludos
Responder Con Cita
  #4  
Antiguo 14-11-2003
tarco35 tarco35 is offline
Miembro
 
Registrado: sep 2003
Posts: 210
Poder: 21
tarco35 Va por buen camino
se me ocurre controlar las teclas del Edit... en el evento OnkeyPress... filtra solo aquellas que sean numeros:

If Not (Key IN ['0'..'9']) then key := #0

claro que tendras que controlar el resto de caracteres como por ejemplo el de borrar... pero funciona bien.

Última edición por tarco35 fecha: 14-11-2003 a las 14:02:14.
Responder Con Cita
  #5  
Antiguo 14-11-2003
Avatar de __hector
[__hector] __hector is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Santo Domingo, Rep. Dom.
Posts: 1.075
Poder: 22
__hector Va por buen camino
El Try/Except de tu ejemplo debe funcionar bien. Lo que pasa es que delphi, al momento de generar la excepcion, te esta deteniendo la ejecucion del programa.

Eso puedes solventarlo en Toos/Debugger Options/Language Exceptions -> Stop on delphi exceptions. Claro que, si corres el ejecutable fuera del IDE, el mensaje de error debe aparecer.
__________________
Héctor Geraldino
Software Engineer
Responder Con Cita
  #6  
Antiguo 19-11-2003
Ricsato Ricsato is offline
Miembro
 
Registrado: oct 2003
Ubicación: Mexicali, Mexico
Posts: 72
Poder: 21
Ricsato Va por buen camino
Hola amigos, les agradezco a todos su ayuda, gracias!!!
Responder Con Cita
  #7  
Antiguo 19-11-2003
pzala pzala is offline
Miembro
 
Registrado: nov 2003
Posts: 48
Poder: 0
pzala Va por buen camino
A mi resulto, pero alguien sabe cual es el codigo para el BORRAR..


Y por casulidad me podrian decir , si existe algun error que me diga si algun campo quedo vacio , cuando intente guardar.

Responder Con Cita
  #8  
Antiguo 19-11-2003
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
pzala comentó:
A mi resulto, pero alguien sabe cual es el codigo para el BORRAR..
VK_BACK - tecla "back space"
VK_DELETE - tecla "suprimir"

Cita:
pzala comentó:

Y por casulidad me podrian decir , si existe algun error que me diga si algun campo quedo vacio , cuando intente guardar.
Esta pregunta no tiene nada que ver con el presente hilo. Abre uno nuevo.

// Saludos
Responder Con Cita
  #9  
Antiguo 19-11-2003
pzala pzala is offline
Miembro
 
Registrado: nov 2003
Posts: 48
Poder: 0
pzala Va por buen camino
GRACIAS-...........
Responder Con Cita
  #10  
Antiguo 19-11-2003
quetzal quetzal is offline
Miembro
 
Registrado: may 2003
Posts: 78
Poder: 21
quetzal Va por buen camino
para ser un poquito mas exacto

If Not (Key IN ['0'..'9',#8,'.']) then
key := #0
Responder Con Cita
  #11  
Antiguo 19-11-2003
pzala pzala is offline
Miembro
 
Registrado: nov 2003
Posts: 48
Poder: 0
pzala Va por buen camino
MEJOR AUN... GRACIASSSSSS'''''''
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 08:24:14.


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