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 07-05-2004
cesar_picazo cesar_picazo is offline
Miembro
 
Registrado: ene 2004
Posts: 65
Poder: 21
cesar_picazo Va por buen camino
Validar Fecha de un TDateField

Buenas tardes estoy utilizando delphi 6 y estoy utilizando un campo TdateField, más tengo la siguiente inquietud, para validar la fecha,

Esta Fecha tiene la mascara igual que la mascara del sistema operativo ejemplo

##/##/## dd/mm/aa, y estoy utilizando el onvalidate y onexit del campo pero no me permite manipular el objeto, aparentemente primero esta validando que la fecha que se está introduciendo sea correcta.

duda que evento tengo que utilizar para validar la fecha antes de que el sistema me envie un mensaje de error,

lo que quiero hacer es que al escribir 01 automaticamente con la exception complete la fecha con la fecha del sistema 01/05/04 o bien 01/04 y lo complete con 01/04/04.

Estuve buscando algo por el estilo y vi que usan de MaskEdit y declaran un procedure ValidateError; override; pero en el caso de un TdateField y un TTIMEField cual debo utilizar.

Por su atención gracias.
Responder Con Cita
  #2  
Antiguo 07-05-2004
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
Pues utiliza elevento onValidate del campo, me imagino que utilizas el componente ttable
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #3  
Antiguo 07-05-2004
cesar_picazo cesar_picazo is offline
Miembro
 
Registrado: ene 2004
Posts: 65
Poder: 21
cesar_picazo Va por buen camino
Ese estoy utilizando

Eso mismo estoy haciendo en el campo xx en el onvalidate tengo lo siguiente

procedure TPrincipal.xxonValidate(Sender: TField);
var
texto:variant;conttemp2,conttemp:integer;
cccc:variant;
Hoy : TDateTime;
Year, Month, Day: Word;
begin
showmessage('Error');
end;
Pero para entrar a este onvalidate tiene que estar bien escrita la fecha, con la mascara que le pongo ##/##/##, no se si existe un forma de capturar el error ante de esto, o que hace internamente delphi, para que yo suprima el mensaje de error que envia delphi por completar la fecha como lo comentaba.

Project api.exe raised exception class EconvertError With Message "20/04/" is not a valid date. Process Stopped. Use Step or to Continue.

Lo que necesito saber es como capturar este mensaje para en caso se de ser una fecha erronea yo completarla.
Responder Con Cita
  #4  
Antiguo 07-05-2004
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
Mira disculpaqueno te delainformacion completa lo que pasa esque no tengo delphi a mano en el objeto tfield debe haber otro evento(no recuerdo elnombre ), con eso lopodras lograr

Ahora para capturar el error puedes usar el evento del TTable que te da la excepcion al grabar
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #5  
Antiguo 07-05-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
Cool

Cita:
Empezado por cesar_picazo
duda que evento tengo que utilizar para validar la fecha antes de que el sistema me envie un mensaje de error
Vos no queres validar la fecha... lo que queres es manipular de alguna forma el texto ingresado por el usuario... para esto valete del evento OnSetText.

Para aclarar, puedo decir que el evento OnValidate, en este caso, se disparará solo en caso que se haya introducido una fecha sintácticamente válida... en espera que vos confirmes que es una fecha aceptable...

hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #6  
Antiguo 07-05-2004
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
Cita:
Empezado por jachguate
para esto valete del evento OnSetText.
Esa era elnombre que mefaltaba
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #7  
Antiguo 07-05-2004
cesar_picazo cesar_picazo is offline
Miembro
 
Registrado: ene 2004
Posts: 65
Poder: 21
cesar_picazo Va por buen camino
listo

tiene razon
se tiene que hacer lo siguiente en el settext del objeto se tiene que capturar el texto y en el gettext se tiene que poner la cadena valida del texto en este caso la fecha. El validate no es necesario para este caso, por su atención 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


La franja horaria es GMT +2. Ahora son las 12:49:30.


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