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 22-10-2004
franciscobucio franciscobucio is offline
Miembro
 
Registrado: oct 2004
Posts: 20
Poder: 0
franciscobucio Va por buen camino
Question Validar Fecha StrToDate

Hola a todos,

Teno un problema que no he podido solucionar, Necesito hacer validaciones de fechas a partir de String:

Try
FechaArchivo.Date := StrToDate(StrFecha);
bandFecha := True;
Except
On EConvertError Do ShowMessage('Error');
End;

A lo que he leido si existe una fecha invalida (p. ejem. 30/02/2004) se genera una excepción y se captura con EConvertError, el detalle es que no lo hace.

Alguien podría ayudarme si estoy mal o alguna otra opción para poder hacer la validación de las fechas?


Gracias de antemano

Saludos,
Francisco Javier Bucio
Responder Con Cita
  #2  
Antiguo 22-10-2004
quetzal quetzal is offline
Miembro
 
Registrado: may 2003
Posts: 78
Poder: 21
quetzal Va por buen camino
Thumbs up

mmmmmm

y si validaras el string antes de pasarlo

osea si chechas que si estas en el mes 1,3,5,7,8,10,12 el numero mayo de dias sera 31 y si son el mes 4,6,9,11 el numero sera 30 si es el mes es el 2 sera 28 pero si le aplicas mod al año y sale 0 esto quiere decir que es año bisiesto y sera de 29, esto es lo que se me ocurre en este instante.

espero te sirva de algo
Responder Con Cita
  #3  
Antiguo 22-10-2004
franciscobucio franciscobucio is offline
Miembro
 
Registrado: oct 2004
Posts: 20
Poder: 0
franciscobucio Va por buen camino
Lightbulb RW: Validar Fecha

Gracias Quetzal,

Si, esa sería un forma de hacerlo, aunque pensé que si podía capturar la excepcion delphi, pero mientras encuentro algo, tendré que hacerle así, jeje



Muchas gracias
Responder Con Cita
  #4  
Antiguo 22-10-2004
Avatar de edgusano
edgusano edgusano is offline
Miembro
 
Registrado: abr 2004
Ubicación: Medellin Colombia
Posts: 180
Poder: 20
edgusano Va por buen camino
Si deseas capturar la excepcion, porque no simplemente pones la clausula EXCEPT sin el tipo de error que pones, es decir el codigo inicial quedaria asi:
Código:
  Try
      FechaArchivo.Date := StrToDate(StrFecha);
      bandFecha := True;
  Except
      ShowMessage('Error');
  End;
Espero y te sirva
__________________
Optimus Prime
Responder Con Cita
  #5  
Antiguo 22-10-2004
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:
Empezado por franciscobucio
Alguien podría ayudarme si estoy mal o alguna otra opción para poder hacer la validación de las fechas?
Tal como lo haces debe funcionar. Lo que puede suceder es que tengas activada la opción "Stop on Delphi exceptions" en Tools|Debugger Options|Language Exceptions lo que ocasiona que primero aparezca la excepción de siempre y después tu mensaje. Puedes dsactivar la opción pero de cualquier forma si ejecutas tu aplicación fuera del IDE sólo se mostrará tu mensaje.

// Saludos
Responder Con Cita
  #6  
Antiguo 22-10-2004
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:
Empezado por edgusano
Si deseas capturar la excepcion, porque no simplemente pones la clausula EXCEPT sin el tipo de error que pones
Porque no es una práctica recomendable. Hacerlo así es suponer que la única excepción posible que puede ocurrir es la de la conversión. Si se genera otro tipo de excepción que deba manejarse de otra forma tendrás problemas.

En un caso sencillo quizá no pase nada pero para prevenir futuros dolores de cabeza es bueno evitar este tipo de técnicas.

// Saludos
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 14:20:53.


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