Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-09-2006
luxus luxus is offline
Miembro
 
Registrado: oct 2004
Posts: 134
Poder: 20
luxus Va por buen camino
Comprobación del formato de fecha

Hola,
¿Me podeis decir como verificar si el formato de fecha introducido por el usuario es el correcto?
Gracias y saludos a todos
Responder Con Cita
  #2  
Antiguo 13-09-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Usa algo como esto:

Código Delphi [-]
function isDate(Date: string): boolean;
var
  D: TdateTime;
begin
  Result:= TryStrToDate(Date,D);
end;
Responder Con Cita
  #3  
Antiguo 14-09-2006
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
Por eso yo prefiero usar un DTPicker, no tengo que hacer ese tipo de validaciones.....
__________________

Responder Con Cita
  #4  
Antiguo 14-09-2006
Avatar de anghell77
anghell77 anghell77 is offline
Miembro
 
Registrado: may 2006
Posts: 194
Poder: 19
anghell77 Va por buen camino
Posiblemente empleando un MaskEdit con máscara de Fecha:

Código Delphi [-]
procedure TForm1.MaskEdit1Exit(Sender: TObject);
begin
try
Tabla.CampoFECHA.Value:=StrToDate(MaskEdit1.text);
 //Captura al Campo de tipo Fecha de la Tabla X el valor del MaskEdit

  except
    Application.MessageBox('Formato de fecha incorrecto','Atención',mb_Ok +mb_IconQuestion);
    MaskEdit1.SetFocus;
  end;
end;

Aunque también puedes ver aqui y aqui algo interesante.


{Saludos}
__________________
"...Ayer Bastaba un Sueño..."

Última edición por anghell77 fecha: 14-09-2006 a las 04:16:05.
Responder Con Cita
  #5  
Antiguo 14-09-2006
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
A lo que me refería era que para que quieres usar un control que tienes que disfrazar para utilizar fechas, cuando tienes un control específico para las fechas.

Estoy de acuerdo que con un Mask puedes hacer que funcione, hasta con un Edit puedes hacer que funcione. Pero el DTPpicker ya te da muuuuchas opciones y posibilidades listas para usarse; que si utilizaras un mask o un edit tendrías que re-programar todo eso.

Como por ejemplo, tener que validar que una fecha sea válida....

Así que insisto, ¿para que usar un mask cuando puedes usar un DTPicker?
__________________

Responder Con Cita
  #6  
Antiguo 14-09-2006
Avatar de anghell77
anghell77 anghell77 is offline
Miembro
 
Registrado: may 2006
Posts: 194
Poder: 19
anghell77 Va por buen camino
Claro, Toda la Razón. Sin embago, únicamente, proponiendo un control con MaskEdit, por aquello de que a luxus, le siga pareciendo mejor emplear otro control....

Por Cierto Contra, en que evento es bueno evaluar una fecha con un DTPicker?....en una suposición, Existe fecha de Préstamo (asignada a la fecha de HOY, mediante:
Código Delphi [-]
DateTimePicker1.Date:=Date;
, ) y también está Fecha de Devolución. En que evento de un segundo DateTimePicker puedo evaluar que la Fecha de devolución no sea menor que la primera?

He hecho lo siguiente:
Código Delphi [-]
procedure TForm1.DateTimePicker2CloseUp(Sender: TObject);
begin
If(DateTimePicker2.Datethen
begin
 ShowMessage('La Fecha seleccionada no es válida. Asigne una fecha posterior');
 DateTimePicker2.Date:=Date;
end;
end;

Pero me gustaría saber en que controles del DateTimePicker2, se puede implementar la resta, para que al clickear sobre la flechita que retrocede el mes apunte a lo mismo: "La Fecha seleccionada no es válida. Asigne una fecha posterior". O es que el MinDate puede evitar que aparezcan los meses anteriores?....No o si? (Bueno ya estoy probando, pero agradeceria las opiniones)...

{Saludos}
Cita:
//EDITO: No me regañen, puede ser que ésta pequeña exposición de duda le parezca a luxus algo complementaria ya que entramos en el manejo de DTPicker
__________________
"...Ayer Bastaba un Sueño..."

Última edición por anghell77 fecha: 14-09-2006 a las 19:07:49.
Responder Con Cita
  #7  
Antiguo 14-09-2006
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
Pues si, se puede hacer cualquiera de las dos cosas, pero creo qu yo lo haría en el evento OnChange del dtpicker, ya sea asignar un nuevo valor a MinDate o mostrando un mensaje
__________________

Responder Con Cita
  #8  
Antiguo 14-09-2006
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
No se si esto servira pero para validar dos fechas de dos DTPicK yo lo hago asi:
En El evento del DTPick ( OnCloseUp ):
Código Delphi [-]
procedure TFRepDatos.DTP2CloseUp(Sender: TObject);
begin
   If DTP2.Date < DTP1.Date then
   begin
      MessageDlg('Fecha del fin no puede ser menor que fecha de inicio.',mtError,[mbOK],0);
      DTP2.DateTime := DTP1.DateTime;
   end;
end;
Con esto la primera no puede ser mayor que la segunda fecha.
Tal Vez sirva
Saludos
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
formato fecha iris2408 SQL 1 22-06-2006 10:15:54
Formato Fecha jmlifi Varios 1 09-11-2005 15:16:40
Como cambiar el formato de un QRSysData en formato fecha Bitbanner Tablas planas 1 13-02-2005 12:33:26
Como Obviar el formato de Fecha del Servidor para Salvar sólo en formato "dd/mm/yyyy" R_Richards Varios 4 07-02-2005 15:57:19
Comprobacion si la imagen cargada es un jpg Oreades Gráficos 1 02-07-2004 22:21:55


La franja horaria es GMT +2. Ahora son las 18:28:04.


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