Page 1 sur 1

Insérer un mode Evaluation dans vos softs

Publié : sam. 22/nov./2008 11:47
par Jacobus

Code : Tout sélectionner

; Mode Evaluation 30 jours d'un programme
; Jacobus 22/11/2008 pour PB 4.20
Enumeration
#win
#Text
#Btn
EndEnumeration
#MonProgramme = "Mon Super Soft"
Global Endday$, date$
date$ = FormatDate("%dd/%mm/%yyyy", Date()) ;date du jour
Endday$ = "30/11/2008"                      ;date limite à modifier pour tester 
;Endday$ = "13/11/2008"
;Il vous reste à gérer l'intégration dans l'appli, soit dans l'exe soit dans le registre ou autre...
Procedure Evaluation(Year.l,Month.l)  
 If date$ = Endday$
	 MessageRequester("Période d'essai", "Dernier jour d'utilisation!", #MB_ICONEXCLAMATION)
	 Test = #True
 Else  
	For d = 1 To 1000 ;sur environ 3 ans
	 Jourplus$ = FormatDate("%dd/%mm/%yyyy", AddDate(ParseDate("%dd/%mm/%yyyy", Endday$),  #PB_Date_Day, d))
	 If date$ = Jourplus$
	  MessageRequester("Période d'essai", "Impossible de démarrer "+#MonProgramme+Chr(13)+"l'évaluation est terminée depuis "+Str(d)+" jour(s)", #MB_ICONERROR)
	  End ; à décommenter (commenté pour les tests)
	  Test = #True
		 Break
	 EndIf 
	Next 	
 EndIf
 If Test = #False
	 j$ = FormatDate("%dd", Date()) 
	 For ud = 1 To 31      
	  Result = Day(Date(Year, Month, Val(j$), 0, 0, 0)) 
	  If Result
	   value.l = 31 - Val(Str(Result)) 
	   MessageRequester("Période d'essai", "Votre version d'évaluation sera encore fonctionnelle durant "+Str(value)+" jour(s)"+Chr(13)+""+Chr(13)+"Merci d'avoir choisi "+#MonProgramme, #MB_ICONINFORMATION)
	   Break 
	  EndIf   
	 Next 
 EndIf  
EndProcedure 
;test
Evaluation(2008,11)
If OpenWindow(#win,0,0, 400, 300,#MonProgramme, #PB_Window_SystemMenu|#PB_Window_ScreenCentered)=0 Or CreateGadgetList(WindowID(#win))=0 
  End
EndIf 
TextGadget(#Text, 20,20,360,100,"Ceci est un test, vous pouvez cliquer sur fermer, merci.",#PB_Text_Center)
ButtonGadget(#Btn,150,200,100,25,"FERMER")
Repeat
 Event = WaitWindowEvent()
   If Event = #PB_Event_Gadget
     Select EventGadget()
       Case #Btn : Quit = 1
     EndSelect 
   EndIf
Until Quit
 Event = #PB_Event_CloseWindow
End 
@+ :wink:

Publié : sam. 22/nov./2008 12:24
par Backup
Merci ! tres bon kit !! :)

Publié : sam. 22/nov./2008 12:26
par Jacobus
Merci, Je viens d'éditer pour fournir un exemple simple d'utilisation... :)

Publié : sam. 22/nov./2008 15:08
par Ar-S
C'est pas mal en effet, par contre le Endday$ doit être calculé au 1er lancement et forcément stoquée en fichier ou dans le registre sinon c'est la misère pour proposer son soft en ligne.

----edit-----

Je viens de voir que tu l'avais mis en commentaire... sorry :)

Publié : sam. 22/nov./2008 15:16
par Le psychopathe
Intéressant mais le seul soucis c'est que c'est très simple à cracker. Enfin n'allons pas retourner dans ce débat :wink:

Publié : sam. 22/nov./2008 15:51
par Jacobus
Cette routine montre surtout comment calculer et utiliser une période de 30 jours de validité, avec des actions possibles en fonction de chaque date. Quant à la protection du soft en lui même c'est autre chose...