PDA

Ver la Versión Completa : Error con fecha (fecha ya pasada)


Rancy
27-06-2008, 11:27:52
En primer lugar, saludos, y gracias por prestar atencion a este mensaje.

El caso es que tengo un pequeño trozo de código dónde consulto la fecha del sistema, y luego, muestro el año (solo para verificar que hasta aqui todo funciona correctamente).
El problema, es que el año es el 1899... Si; hace mas de 100 años.

Por si sirve de algo dejaré aquí el código:


procedure calc_anys(var anysup: integer; var anyinf: integer; var ComboboxEdat: TCombobox);
var
year, month, day:word;
Data: TDateTime;
begin
DecodeDate(Data, Year, Month, Day);
showmessage(IntToStr(year));
end;


Tengo entendido que cosas así suelen ocurrir cuando falla la pila de la placa base, pero en mi caso no es asi, la fecha de windows es la correcta, i no da problemas.

Alguien sabe que puede ocurrir?

tcp_ip_es
27-06-2008, 12:08:40
No has inicializado la variable data. Con lo cual pilla la fecha por defecto.


procedure calc_anys(var anysup: integer; var anyinf: integer; var ComboboxEdat: TCombobox);
var
year, month, day:word;
Data: TDateTime;
begin
//Fecha hoy
Data:=date;
DecodeDate(Data, Year, Month, Day);
showmessage(IntToStr(year));
end;


Saludos, Tony

Rancy
01-07-2008, 08:37:47
Muchas gracias, ya funciona correctamente!

Fuí iluso, y creí que la funcion DecodeDate usaba la hora del sistema.

Bueno, ya se una coas más! :D