elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Necesito una rutina simple de caducidad de programa
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Necesito una rutina simple de caducidad de programa  (Leído 2,726 veces)
luis456


Desconectado Desconectado

Mensajes: 551



Ver Perfil
Necesito una rutina simple de caducidad de programa
« en: 26 Diciembre 2012, 07:50 am »

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




En línea

Que tu sabiduria no sea motivo de Humillacion para los demas
ecfisa

Desconectado Desconectado

Mensajes: 114


Ver Perfil
Re: Necesito una rutina simple de caducidad de programa
« Respuesta #1 en: 29 Diciembre 2012, 00:37 am »

Hola.

Código
  1. #include <iostream>
  2. #include <ctime>
  3. using namespace std;
  4.  
  5. int expired(struct tm);  
  6. ...
  7.  
  8. int main() {
  9.  struct tm f;
  10.  int d,m,y;
  11.  
  12.  /*
  13.   Aqui deberia ir el codigo para obtener la fecha de caducidad.  
  14.   El dia, mes y año se almacenan en las variables: d, m, y.
  15.   */
  16.  
  17.  f.tm_year = y;
  18.  f.tm_mon  = m;
  19.  f.tm_mday = d;
  20.  if (expired(f) > 0) {
  21.    cout << "El periodo de uso ha caducado";
  22.    return 1;
  23.  }
  24.  // ...
  25.  return 0;
  26. }
  27.  
  28. /* expired: devuelve > 0 si ini < hoy, = 0 si ini = hoy, < 0 si ini > hoy */
  29. int expired(struct tm ini) {
  30.  time_t t = time(NULL);
  31.  struct tm *hoy = localtime(&t);
  32.  return (hoy->tm_year+1900 + hoy->tm_mon + hoy->tm_mday) -
  33.         (ini.tm_year + ini.tm_mon+ ini.tm_mday);
  34. }
  35.  

Saludos.


« Última modificación: 29 Diciembre 2012, 00:39 am por ecfisa » En línea

rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: Necesito una rutina simple de caducidad de programa
« Respuesta #2 en: 29 Diciembre 2012, 02:01 am »

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í:
Código
  1. #include <time.h>
  2.  
  3. /* ... */
  4.  
  5. /* Retorna 1 si no se ha sobrepasado la fecha, 0 en caso contrario */
  6. int expired(struct tm *ini)
  7. {
  8.   return difftime(time(NULL), mktime(ini)) >= 0.0;
  9. }

Un saludo
En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
luis456


Desconectado Desconectado

Mensajes: 551



Ver Perfil
Re: Necesito una rutina simple de caducidad de programa
« Respuesta #3 en: 29 Diciembre 2012, 06:53 am »

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

Código:
#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);
         
}
En línea

Que tu sabiduria no sea motivo de Humillacion para los demas
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Necesito codigo simple.
Programación Visual Basic
newbY 1 1,766 Último mensaje 9 Noviembre 2007, 00:57 am
por skapunky
Necesito 2 cosas solo y muy simple
Multimedia
anonimo12121 3 3,099 Último mensaje 3 Enero 2009, 15:03 pm
por Songoku
urgente necesito un programa simple para cortar y pegar video
Multimedia
frank56 2 5,857 Último mensaje 23 Septiembre 2009, 01:50 am
por Di~OsK
Necesito orientacion :: Perceptron simple (ANN - RNA). Desde cero. xD
Programación General
Hadess_inf 5 6,240 Último mensaje 31 Agosto 2010, 18:13 pm
por [D4N93R]
Necesito una rutina para bloquear la APP ?
.NET (C#, VB.NET, ASP)
TrashAmbishion 4 2,900 Último mensaje 17 Febrero 2013, 22:32 pm
por TrashAmbishion
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines