Hola de nuevo
Tengo un código y necesito que se caduque a cada cierto tiempo sea por fecha o por uso algo simple ya que es para regalarlo y que lo crakeen no es problema,pero por fastidiar jejej.
pensé en esto ( pero es fox :) )
if date == 12/12/2012
exit
endif
claro esto es en fox pro y no se como hacerlo en c++ ya que en fox no hay que declarar el time
gracias
Luis
Hola.
#include <iostream>
#include <ctime>
using namespace std;
int expired(struct tm);
...
int main() {
struct tm f;
int d,m,y;
/*
Aqui deberia ir el codigo para obtener la fecha de caducidad.
El dia, mes y año se almacenan en las variables: d, m, y.
*/
f.tm_year = y;
f.tm_mon = m;
f.tm_mday = d;
if (expired(f) > 0) {
cout << "El periodo de uso ha caducado";
return 1;
}
// ...
return 0;
}
/* expired: devuelve > 0 si ini < hoy, = 0 si ini = hoy, < 0 si ini > hoy */
int expired(struct tm ini) {
time_t t = time(NULL);
struct tm *hoy = localtime(&t);
return (hoy->tm_year+1900 + hoy->tm_mon + hoy->tm_mday) -
(ini.tm_year + ini.tm_mon+ ini.tm_mday);
}
Saludos.
Otra opción es, en la caso de C, utilizar la función difftime para obtener la diferencia entre dos fechas. Mas o menos así:
#include <time.h>
/* ... */
/* Retorna 1 si no se ha sobrepasado la fecha, 0 en caso contrario */
int expired(struct tm *ini)
{
return difftime(time(NULL), mktime(ini)) >= 0.0;
}
Un saludo
No me sale jejej y gracias por responder funciona bien compila y todo pero si pongo una fceha pasada deberia de sacarme el mesagebox y solo se se cierra
luis
#include <iostream>
#include <ctime>
using namespace std;
int expired(struct tm);
int main() {
struct tm f;
int d,m,y;
// esta seria la fecha de caducidad ????????????
d= 01;
m= 12;
y= 2013;
// segun entiendo tendria que poner las Variables con la fecha que elija ----------No me sale
// +Aqui deberia ir el codigo para obtener la fecha de caducidad.
// El dia, mes y año se almacenan en las variables: d, m, y.
//*/
f.tm_year = y;
f.tm_mon = m;
f.tm_mday = d;
if (expired(f) > 0) {
cout << "El periodo de uso ha caducado";
return 1;
}
// ...
return 0;
}
/* expired: devuelve > 0 si ini < hoy, = 0 si ini = hoy, < 0 si ini > hoy */
int expired(struct tm ini) {
time_t t = time(NULL);
struct tm *hoy = localtime(&t);
return (hoy->tm_year+1900 + hoy->tm_mon + hoy->tm_mday) -
(ini.tm_year + ini.tm_mon+ ini.tm_mday);
}