Club Delphi  
    FTP   CCD     Enlaces   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


Respuesta
 
Herramientas Desplegado
  #1  
Antiguo 26-04-2006
Gustavo Gowdak Gustavo Gowdak is offline
Miembro
 
Registrado: jun 2004
Posts: 49
Gustavo Gowdak Va por buen camino
Question Validar Fecha

Hola amigos como estan, les hago una pregunta, tengo una TEditMask para un campo fecha, luego de ingresar la fecha al salir del campo quiero validar (saber si esta bien escrito) por ejemplo si ingreso '10/12/06' me valide pero si por error ingreso 33/12/06 me tire un error, si no es mucha molestia si me tiran con la linea de codigo mejor gracias.....
Responder Con Cita
  #2  
Antiguo 26-04-2006
Avatar de egostar
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.300
egostar Va por buen camino
Post

Hola Gustavo

Si es obligado usar el TEditMask puedes usar esta rutina, aunque se complica porque debes de identificar si el mes es de 28, 29, 30 o 31 dias.


Código Delphi [-]
procedure TForm1.MaskEdit1Exit(Sender: TObject);
begin
  If (copy(MaskEdit1.Text,1,2) < '00') or
     (copy(MaskEdit1.Text,1,2) > '31') then begin
     showmessage('Dia mal capturado');
  end;
  If (copy(MaskEdit1.Text,4,2) < '00') or
     (copy(MaskEdit1.Text,4,2) > '12') then begin
     showmessage('Mes mal capturado');
  end;
end;



Yo te sugiero que mejor uses un TDateTimePicker y te olvidas de las validaciones.

Saludos

PD. Edite el mensaje porque no me puso bien el codigo, algun error en el resaltador de sintaxis delphi.
__________________

Nuestra naturaleza está en movimiento. El reposo absoluto es la muerte”
– Blaise Pascal.

Última edición por egostar fecha: 26-04-2006 a las 22:49:27.
Responder Con Cita
  #3  
Antiguo 27-04-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
seoane Va por buen camino
Para validar una fecha tambien puedes usar esto:
Código Delphi [-]
var
  Fecha: TDateTime;
begin
  if not TryStrToDate(MaskEdit1.Text, Fecha) then
  begin
    ShowMessage('Algo va mal');
  end;
end;
Responder Con Cita
  #4  
Antiguo 27-04-2006
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Modelador
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.239
vtdeleon Va por buen camino
Saludos

Yo mejor usaria un DateTimePicker y caso resuelto. ¿no?
__________________
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
  #5  
Antiguo 27-04-2006
Josep_Lluís Josep_Lluís is offline
Registrado
 
Registrado: abr 2006
Ubicación: Lleida
Posts: 1
Josep_Lluís Va por buen camino
Cool TryStrToDate

no conocía la función TryStrToDate, muchas gracias!!!

Si bien es cierto que lo mejor es usar un DateTimePicker, también es cierto que no siempre es posible, por ejemplo, programando para intraweb

Entonces yo hasta ahora siempre escribia algo como:

try
fecha:= StrToDate(edit1.text)
except
ShowMessage('nastideplasti')
end;

Lo que no me acaba de quedar claro es:

TryStrToDate(MaskEdit1.Text, Fecha)

si devuelve true, asigna el valor del maskedit a fecha?
si devuelve false, que valor le asigna a fecha?

Zenkiu verimach
Responder Con Cita
  #6  
Antiguo 27-04-2006
Avatar de Delfino
Delfino Delfino is offline
Miembro
 
Registrado: jul 2003
Ubicación: Madrid
Posts: 958
Delfino Va por buen camino
Cita:
Yo mejor usaria un DateTimePicker y caso resuelto. ¿no?
Mejor es el JvDateEdit y su propiedad CheckOnExit, y sus eventos OnAcceptDate y OnInvalidDate..
__________________
¿Microsoft? No, gracias..
Responder Con Cita
  #7  
Antiguo 27-04-2006
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Modelador
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.239
vtdeleon Va por buen camino
Saludos
Cita:
Empezado por Delphino
Mejor es el JvDateEdit y su propiedad CheckOnExit, y sus eventos OnAcceptDate y OnInvalidDate..
Cierto, pero no queria enrollar al forista con tantos componentes de la JVCL.
__________________
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 03-05-2006
Avatar de Delfino
Delfino Delfino is offline
Miembro
 
Registrado: jul 2003
Ubicación: Madrid
Posts: 958
Delfino Va por buen camino
La JVCL se ha convertido en un estandar de facto para los programadores Delphi/BCB, asi q hay q recomendarla a todos para q la base de sus usuarios se amplia y eso beneficia al proyecto open source sobre todo en correccion de bugs..
__________________
¿Microsoft? No, gracias..
Responder Con Cita
Respuesta


Herramientas
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
Problema al validar fecha lbidi Varios 1 15-08-2005 22:44:55
validar en fecha, dia y mes alcides Varios 2 08-02-2005 16:29:33
Validar Fecha StrToDate franciscobucio Varios 5 22-10-2004 22:34:14
validar fecha morfeo21 Varios 1 15-10-2004 11:25:45
Validar Fecha de un TDateField cesar_picazo Varios 6 07-05-2004 01:48:46


La franja horaria es GMT +2. Ahora son las 10:54:18.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi