Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
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 09-08-2006
Avatar de anghell77
anghell77 anghell77 is offline
Miembro
 
Registrado: may 2006
Posts: 194
Poder: 18
anghell77 Va por buen camino
Manejo de Excepciones

Hola compañeros....una pregunta....
Tengo un Evento OnExit de un MaskEdit

Código Delphi [-]
procedure TForm2.MaskEdit1Exit(Sender: TObject);
begin
DBEdit6.Text:=MaskEdit1.Text;
end;

Esto lo hago para que los datos de la fecha que desee capturar el usuario se guarden en el campo DBEdit6 que es de tipo Date, porque por defecto se captura la fecha del sistema....

Como puedo validar que MaskEdit si al usuario se le van los dedos y se sale sin capturar datos o que no me arroje errores como

Cita:
" / / /" is not a valid date..... o "Invalid input value",
sé que se puede hacer atrapando la excepcion, pero no se como es esto...si alguien me puede ayudar, lo agradezco....

Saludos...
__________________
"...Ayer Bastaba un Sueño..."
Responder Con Cita
  #2  
Antiguo 09-08-2006
Avatar de kuan-yiu
[kuan-yiu] kuan-yiu is offline
Miembro Premium
 
Registrado: jun 2006
Ubicación: Galicia. España.
Posts: 1.017
Poder: 19
kuan-yiu Va camino a la fama
Algo así
Código Delphi [-]
try
  // Código que puede dar problemas
except
  // Lo que harás si da problemas
end;
Responder Con Cita
  #3  
Antiguo 09-08-2006
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
Hola, el problema aquí es dónde colocar el try-except porque la validación de la máscara se hace antes del evento OnExit. Anteriormente hemos hablado de esto, quizá estos hilos sean de utilidad:

http://clubdelphi.com/foros/showthre...light=maskedit
http://www.clubdelphi.com/foros/showthread.php?t=4453

// Saludos
Responder Con Cita
  #4  
Antiguo 10-08-2006
Avatar de anghell77
anghell77 anghell77 is offline
Miembro
 
Registrado: may 2006
Posts: 194
Poder: 18
anghell77 Va por buen camino
Gracias Kuan_Yiu, eso si lo sabía, lo que necesitaba era ver más o menos que código agregar ahí donde dices, "código que puede dar problemas", pero ahora Roman me ha dado unos enlaces y estoy viendo todos los hilos que se enlazan a la respuesta.... Gracias Roman, yo notifico si he logrado hacer que funcione, o si se me atora en algún otro lado este asunto...

Saludos...
__________________
"...Ayer Bastaba un Sueño..."
Responder Con Cita
  #5  
Antiguo 10-08-2006
Avatar de anghell77
anghell77 anghell77 is offline
Miembro
 
Registrado: may 2006
Posts: 194
Poder: 18
anghell77 Va por buen camino
Lo he intentado...



He intentado, las sugerencias....

Código Delphi [-]
 
try
 DataModule2.DespachoFECHA.Value:=StrToDate(MaskEdit1.text);
  except
    Application.MessageBox('Formato de fecha incorrecto','Atención',mb_Ok +mb_IconQuestion);
    MaskEdit1.SetFocus;
  end;

Y aún me sigue mandando errores: "Invalid Input Value", o al escribir fechas invalidas, pues arroja "15/15/15 is not a valid Date"....
También intenté crear la clase subalterna del MaskEdit como sugiere Roman

[left]
Código Delphi [-]
 <div align="left"><div align="left">type
  TMaskEdit = class(Mask.TMaskEdit)
  protected
    procedure ValidateError; override;
  end;

  TForm1 = class(TForm)
    { métodos y propiedades }
  end;

implementation

procedure TMaskEdit.ValidateError;
begin
  MessageBeep(0);
  raise EDBEditError.Create('Formato incorrecto');
end;
end.div>div>

Pero ésta alternativa sólo no avisa nada....obviamente no deja que siga con los demás procesos que realizo, como Guardar, el cual está condicionado a la captura correcta de todos los datos; pero no dice que esté mal la entrada ni dice si no se ha escrito algo, obvio es funcional porque no aparecen los errores en inglés pero no los señala tampoco como lo escribimos....

Alguna sugerencia?? GRACIAS.....

{Saludos}
__________________
"...Ayer Bastaba un Sueño..."
Responder Con Cita
  #6  
Antiguo 10-08-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Ejecuta el programa desde el explorador de windows.

¿no será que tienes la opcion de "Stop on Delphi Exception" activada en tools -> debugger options -> language

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
No me sale el manejo de excepciones Torreblanca Varios 3 11-07-2006 19:32:45
Excepciones adpa OOP 5 14-12-2005 16:45:45
manejo de excepciones try y except no funciona gulder Conexión con bases de datos 4 10-11-2005 15:50:00
manejo de excepciones el_barto Varios 4 08-06-2005 10:48:36
Ayuda con Manejo de Excepciones buffygcs SQL 2 21-04-2005 18:52:09


La franja horaria es GMT +2. Ahora son las 23:47:39.


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