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

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #9  
Antiguo 15-03-2005
rafita rafita is offline
Miembro
 
Registrado: ago 2003
Ubicación: Cuenca- España.
Posts: 309
Poder: 23
rafita Va por buen camino
Hola Alfredosg19,

Solo quería decirte que te ocurre lo que a mí: te curras todo a mano, incluso funciones que ya existen. Tengo cientos de líneas de código sustituidas por una sola función que trae Delphi, y que descubrí tras largas horas de trabajo y buenos dolores de cabeza.

Para saber si la fecha introducida es anterior a la fecha actual o una semana posterior utiliza las funciones DaysSpan y CompareDate:
Código:
if CompareDate(FechaD.Date,Now)=-1 then
    ShowMessage('¡Aviso! Estas realizando una reserva en un día anterior a hoy');
 if Round(DaysSpan(Fecha1.Date,Now))<0 then 
    ShowMessage('Anterior a hoy');
Para poner la fecha del sistema simplemente utiliza la función NOW:
Código:
    DtData.Date:=Now;
También te sirve para la hora (actual)
Código:
DTFechaYHora.DateTime:=Now;
 DTSoloHora.Time:=Now;
Como dice Marcos, puedes cambiar el valor tantas veces como quieras. Suele ser lo habitual.

Puedes comprobar la validez de la fecha al salir del campo DTData. Yo lo hago de la siguiente forma:
Evito que el usuario introduzca una fecha a mano: en el evento OnKeyPress pongo una función con un
Código:
Key:=#0;
Capturo el repliege del calendario en el evento OnCloseUp.
Código:
var FHBuena : TDateTime;
 begin
 if (not TryStrToDate(DateToStr(FechaD.Date), FHBuena)) or
 		 (not TryStrToDate(DateToStr(FechaH.Date), FHBuena)) or
 		 (not TryStrToTime(HoraD.Text, FHBuena)) or
 		 (not TryStrToTime(HoraH.Text, FHBuena)) then
 		 begin
 		 ShowMessage('¡Error! Faltan datos (fecha u hora) para poder realizar la reserva');
 		   Exit;   // podría haberlas inicializado FechaD.Date:=NOW; ....
 		 end;
Por último, te recomiendo que le eches un vistazo a los componentes de las RXLib, sobre todo a uno llamado DateEdit.

Seguimos en contacto.
__________________
Rafita.

Última edición por rafita fecha: 15-03-2005 a las 13:08:08.
Responder Con Cita
 


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 18:58:04.


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