Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Error manejando fechas en Windows (https://www.clubdelphi.com/foros/showthread.php?t=62488)

pablopessoa 29-12-2008 01:09:51

Error manejando fechas en Windows
 
Hola gente forista!
Estoy haciendo una aplicacion que debe controlar que no expire la licencia, por lo tanto lo que hice fue, en el momento de instalar, crear una entrada en el registro donde se guarda la fecha de instalacion, la misma la saco haciendo un Date que me trae el dia mes y año y luego resto y me fijo cuantos dias de licencia queda. Hasta ahi todo bien
El problema es que hice una prueba instalando hoy y dando licencia hasta el 1/2/2009 y cuando ejecuto el programa me alerta que mi licencia esta por expirar y que me quedan como - 94 dias (no es el numero exacto que muestra, pero lo importante es que lo muestra en negativo)
Alguien sabe a que puede deberse este error? y si alguien me puede sujerir algun sistema mas eficas para controlar el vencimiento de la licencia de mi aplicacion lo agradeceria mucho.
Saludos a todos y felices fiestas!!!

PepeLolo 29-12-2008 04:40:41

En esta página puedes encontrar un componentes delphi free para lo que quieres y con muchas más posibilidades. El componente se llama TmxProtector.

Neftali [Germán.Estévez] 29-12-2008 09:38:38

Cita:

Empezado por pablopessoa (Mensaje 332391)
El problema es que hice una prueba instalando hoy y dando licencia hasta el 1/2/2009 y cuando ejecuto el programa me alerta que mi licencia esta por expirar y que me quedan como - 94 dias (no es el numero exacto que muestra, pero lo importante es que lo muestra en negativo)

Bueno, parece que está claro que tienes un problemas con el cálculo de las fechas. Estaría bien si pusieras algo del código que estás utilizando para realizar los cálculos; Así podríamos ver si hay algun error. ¿Cómo haces la resta?

Revisa las funciones que hay en la unit DateUtils (si es que no las estás utilizand ya), te pueden ayudar con el tratamiento de fechas.
En concreto, por ejemplo, DaySpan te devuelve el número de días que hay entre dos fechas.

Código Delphi [-]
  i := DaySpan(StrToDate(edtHoy.Text), StrToDate(edtInstall.Text));
  lblResult.Caption := Format('Lleva %d días ejecutando la aplicación',[Trunc(i)]);


La franja horaria es GMT +2. Ahora son las 16:25:54.

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