Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Fecha del sistema y DateTimePicker (https://www.clubdelphi.com/foros/showthread.php?t=28564)

ojan69 23-12-2005 12:23:33

Fecha del sistema y DateTimePicker
 
Hola gente; resulta que tengo un componente DateTimePicker con una fecha determinada en su propiedad "Date". Bien, quiero comparar la fecha del sistema con este campo. He probado directamente con

var
Presente: TDateTime;
begin
Presente:= Now;
DateTimePicker.date=Presente;

pero esto no funciona. Luego traté de usar la función

DecodeDate(Present, Year, Month, Day);

pero claro, devuelve strings y no se pueden comparar con "date". Si alguien me arroja algo de luz a este asunto se lo agradecería infinitamente ;-) . Un saludo.

Iván

marcoszorrilla 23-12-2005 13:55:14

Cita:

var
Presente: TDateTime;
begin
Presente:= Now;
DateTimePicker.date=Presente;
var
Presente: TDateTime;
begin
Presente:= Now;
DateTimePicker.date:=Presente;

Por qué no?:
Código Delphi [-]
       DateTimePicker.date:=Now;

Un Saludo.

ojan69 23-12-2005 14:01:40

Hola otra vez... lo que quiero es COMPARAR la fecha de hoy con la que muestra el DateTimePicker.Date . No quiero asignar la fecha actual al campo DATE. ¿Sabrías como se hace esto?. Un abrazo y gracias de todos modos. ;-)

Iván

Bicho 23-12-2005 15:32:51

No se si nuestro gran amigo Marcos Zorrilla sabría hacerlo, así que intentaré hecharle una mano. Has probado con lo siguiente

Código Delphi [-]
IF DateTimePicker.Date = Now then ...

De todos modos, quiero puntualizar una cosa. Lo que Marcos intentaba explicarte es: que no importa crear una variable del tipo DateTime como has hecho con la variable Presente, puedes usar Now directamente sin tener que crear variables innecesarias.

Espero te sirva.

Saludos y Feliz Navidad a todos

marcoszorrilla 23-12-2005 15:36:12

Pues lo que ocurre es que salía a las 14 horas y eran 13:55 por lo tanto tienes razón el problema es que no leí bien e interpreté que había un error porque querías hacer una asignación en vez de una comparación.

Como ya te han explicado como hacer lo que quieres, nada más pido disculpas por el error debido al tiempo exiguo que tenía.

Un Saludo.

marcoszorrilla 23-12-2005 15:41:00

Cita:

IF DateTimePicker.Date = Now then ...
Una puntualización si lo que se compara es la fecha debiera de ser asi:

Cita:

IF DateTimePicker.Date = Date then ...
Now, devuelve la fecha y hora

Un Saludo.

Bicho 23-12-2005 15:45:04

Me lo he olvidao
 
Exactamente, éste era el otro punto que yo quería matizar (que el Date te devuelve la fecha y el Now la fecha y la hora actual), y al final me he liado con otras cosas y no te lo he puesto, pero bueno ya te lo han solucionado.

Espero con ésto ya lo tengas claro.

Saludos

ojan69 26-12-2005 18:28:25

Yepa! Hola (por tercera vez ;-) ) . Bueno, debe de ser que mi delphi está un poco loco porque si le pongo

If DateTimePicker.Date = Date THEN

Resulta que cuando se cumple la condición NO Entra por el IF. Depurando me ha sale que lo que devuelve la función Date tiene una pinta como sigue: 768794856e-23

No sé, seguiré dandole vueltas al asunto. Muchas gracias maestros. Salud!

Iván

marcoszorrilla 26-12-2005 18:40:04

Dado que la fecha y hora hagas lo que hagas se guardan juntas, y la parte entera es la fecha y la fraccionaria la hora, esto que sigue te funcionara sin problemas.
Código Delphi [-]
 procedure TForm1.Button1Click(Sender: TObject);
 begin
 if Int(DateTimePicker1.Date) = Date then
 showMessage('Fecha correcta')
 else
 showMessage('Fecha Incorrecta');
 
 end;

Un Saludo.


La franja horaria es GMT +2. Ahora son las 04:13:45.

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