Bonsoir,
Alors vue que SZ ne sait, pour l'instant, pas vraiment gérer les dates, on va passer un peu par VB.Net.
Le principe :
On va récupérer la date d'aujourd'hui et l'enregistrer dans un fichier. Ensuite à chaque démarrage on va lire ce fichier comparer son contenu (une date) là avec la date d'aujourd'hui avec une différence de 30 jours.
Alors maintenant, dans un premier temps, on va récupérer la date d'aujourd'hui et l'enregistrer, pour cela, avec Modifier une variable :
TaVariable = System.DateTime.Today
"cette valeur est du texte" = décoché
Après ça, tu enregistres TaVariable dans un fichier (je te recommande d'encrypter le fichier
)
Voila, la partie ci-dessus, fait en sorte de l'exécuter la première fois que le logiciel lancé (tu peux le déterminer via un valeur dans le registre ou un fichier existant ou pas par exemple)
Maintenant, on va lire le fichier en question et comparer les dates :
- Tu lis ton fichier et le charge dans une variable (on va prendre TaVariable par exemple)
- Ensuite on calcul la différence entre les deux date, pour cela, utilises Calcul Simple, et met :
- Code:
30 - Microsoft.VisualBasic.DateDiff(Microsoft.VisualBasic.DateInterval.Day, TaVariable , System.DateTime.Now)
Explication : DateDiff permet de calculer une différence de jour (on précise Day pour la différence de jour), donc on peut imaginer :
==>30j - DateDiff("Date enregistrer dans le fichier", "Date d'aujourd'hui")
==>30j - DateDiff("3 Novembre 2010", "10 Novembre 2010")
==>30j - 7j
==>23
Il reste 27 jours avant l'activation
Bref, ça c'était la petite explication
. Une fois que tu as fait ça, c'est très simple, il suffit de faire des conditions :
- Si NbrJourRestant < 0 Alors La date est dépassé
- Sinon
--- Si NbrJourRestant > 30 Alors, c'est qu'il y a un problème (par exemple, l'utilisateur, malin, a changé la date de son ordi en pensant que le logiciel dirait "il reste 3400 jours" lol)
--- Sinon, il reste "NbrJourRestant" jours avant expiration.
Voila, au fond, c'est un système simple, juste qu'avec SZ il faut passer par VB.net
@+