Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-04-2008
sargento elias sargento elias is offline
Miembro
 
Registrado: mar 2008
Posts: 109
Poder: 17
sargento elias Va por buen camino
problema al validar fecha

buenass!

Tengo un problema con el rxdatedit, He creado una funcion para validar la fecha

Código SQL [-]
 
function funFecha(fecha : string) : boolean;
begin
  if fecha <> '  /  /    ' then begin
    try
      StrToDate(fecha);
      Result := True;
    except
      on exception do
        Result := False;
    end;
  end;
end;

Pero cuando voy a realizar el if funfecha(dateedit.text) = false then, no me entra en la función y me saca un error del tipo:

Econverterror with message '50/50/50' is not a valid date.

Si alguien puede ayudarme para pasarlo adate please?
Responder Con Cita
  #2  
Antiguo 08-04-2008
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 21
enecumene Va por buen camino
Hola, a ver, intenta con esto:

Código Delphi [-]
var
  Fecha: TDateTime;
begin
  if not TryStrToDate(RxDateEdit.Text, Fecha) then
  begin
    ShowMessage('Algo va mal');
  end;
end;
Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #3  
Antiguo 08-04-2008
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.286
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Creo que es, porque el propio control te está realizando las validaciones antes de que de tiempo a que llegue a tu procedimiento.
Si tiene propiedades para desactivar esa validación, desactívala, sino deberás utilizar otro componente o revisar si este te da algun acceso (evento) para poder "meter mano" en caso de error.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #4  
Antiguo 08-04-2008
sargento elias sargento elias is offline
Miembro
 
Registrado: mar 2008
Posts: 109
Poder: 17
sargento elias Va por buen camino
Unhappy probado

me dice que algo va mal cuando meto una fecha incorrecta.50/50/50.
Responder Con Cita
  #5  
Antiguo 08-04-2008
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 21
enecumene Va por buen camino
Cita:
Empezado por sargento elias Ver Mensaje
me dice que algo va mal cuando meto una fecha incorrecta.50/50/50.
A que te refieres? te funcionó o no te funcionó?

Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #6  
Antiguo 08-04-2008
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
¿es broma no?

¿leíste el código? se supone que eso tiene que hacer...
__________________

Responder Con Cita
  #7  
Antiguo 08-04-2008
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
Neftalí ha dado la respuesta. No importa que código se ponga en sus métodos. A menos que te las arregles (heredando, sobreescribiendo...).

Chequea si ese componente tiene alguno evento "OnValidate" o algo parecido.

Saludos.
__________________
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
  #8  
Antiguo 08-04-2008
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
tan sencillo que sería utilizar un DateTimePicker y olvidarse de todas esas validaciones....
__________________

Responder Con Cita
  #9  
Antiguo 09-04-2008
sargento elias sargento elias is offline
Miembro
 
Registrado: mar 2008
Posts: 109
Poder: 17
sargento elias Va por buen camino
onacceptdate

hay una evento onacceptdate, no si si será, como lo podría montar?

Perdonad, no era broma, me sacaba el msgbox('Algo va mal');
Responder Con Cita
  #10  
Antiguo 09-04-2008
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
Vamos a ver... El TDateEdit de las RX, sirve para validar que una fecha sea correcta. Es decir, este control ya viene con todo un procedimiento para validar la fecha que se ingresa. Entonces, ¿para qué quieres validar la fecha tu mismo cuando el control ya lo hace por ti?

Ya lo dijo Neftalí pero parece que no lo notaste:
Cita:
Creo que es, porque el propio control te está realizando las validaciones antes de que de tiempo a que llegue a tu procedimiento.
Ahora, Las RX han sido reemplazadas por las Jedi (las puedes descargar gratis), tal vez sería mejor que utilizaras la última versión de las Jedi en lugar de seguir utilizando las RX.

En fin, revisando la ayuda de este componente, el evento onAcceptDate se ejecutó justo después de que el usuario a seleccionado una fecha. Principalmente sirve para prevenir que el usuario haya seleccionado una fecha no válida para tus procedimientos. Solo habría que poner "Action := False" para que el control actúe como si le hubieran dado en el botón "cancelar".

Pero todo eso no tiene la menor importancia hasta que no nos expliques para qué quieres validar la fecha tu mismo cuando el control ya lo hace por ti.
__________________

Responder Con Cita
  #11  
Antiguo 09-04-2008
sargento elias sargento elias is offline
Miembro
 
Registrado: mar 2008
Posts: 109
Poder: 17
sargento elias Va por buen camino
YA se que valida el solo , pero me saca una excepción y me salta del programa, y no se como controlarla ni de donde.

Gracias.
Responder Con Cita
  #12  
Antiguo 09-04-2008
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
Entonces lo que supongo necesitas no es evitar esa excepción, mas bien lo que quieres es que ese mensaje salga en español.

Todo esto ya lo había mencionado Neftali en su mensaje....

Lo que requieres es manejar el evento OnInvalidDate y si no quieres que te aparezca el mensaje predeterminado del control y mostrar el tuyo propio, tienes que poner el parámetro "Accept" de ese evento en Verdadero. Si "Accept" lo dejas en falso te va a saltar el mensaje del control.
__________________


Última edición por ContraVeneno fecha: 09-04-2008 a las 20:18:21.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Problema para validar fecha en java Alejo JAVA 2 09-02-2007 12:54:06
Validar fecha judit25 Conexión con bases de datos 4 09-05-2006 17:48:33
Validar Fecha Gustavo Gowdak OOP 7 03-05-2006 19:24:37
Problema al validar fecha lbidi Varios 1 15-08-2005 22:44:55
validar fecha morfeo21 Varios 1 15-10-2004 11:25:45


La franja horaria es GMT +2. Ahora son las 13:28:52.


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