![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#9
|
|||
|
|||
|
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');
Código:
DtData.Date:=Now; Código:
DTFechaYHora.DateTime:=Now; DTSoloHora.Time:=Now; 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; 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;
Seguimos en contacto.
__________________
Rafita. Última edición por rafita fecha: 15-03-2005 a las 13:08:08. |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|