Vous pouvez tester avec
Nom d'utilisateur : Bob Bidule
Serial : 9b27B BE10B
Au pire, si vous mettez un autre nom, le logiciel copie le bon num de série dans le presse papier. (pour le test évidement)
Code : Tout sélectionner
;Exemple simple de génération/vérification de numéro de série se basant sur le nom prenom de l'utilisateur
;Par Ar-S / 2008
Global CleXP$,a,b$,c$,e,f$,SERIALpart1$,SERIALpart2$,UserName$,SerialTape$
Enumeration
#win : #NameInput : #KEYinput : #Text_2 : #Text_3 : #BT_GO : #Font_BT_GO
EndEnumeration
Procedure Serial()
UserName$=GetGadgetText(#NameInput)
UserName$=Trim(UserName$) ; on enlève l'espace
SerialTape$=GetGadgetText(#KEYinput)
;//différents composants du serial se basant sur le nom de l'user du PC et sur le vrai nom et prenom de l'utilisateur
a=Len(UserName$) : b$=Left(UserName$,1) : c$=UCase(Right(UserName$,1)): d=a*3 : e=Len(UserName$)-1 : f$=LCase(Mid(UserName$,3,1))
SERIALpart1$=c$+Str(a)+b$ : SERIALpart2$=Str(d-3)+UCase(Mid(UserName$,3,3))
serial$=Trim(Str(e)+f$+SERIALpart2$+SERIALpart1$)
;//fin de la création du serial
If UserName$="" Or SerialTape$=""
MessageRequester("Erreur","Vous devez remplir les 2 champs",#MB_ICONWARNING)
Else
SetClipboardText(serial$) ; Copie le bon serial dans le presse papier - a supprimer évidement.
If SerialTape$=serial$
MessageRequester("Félicitation","Merci d'avoir acheté ce logiciel",#MB_ICONINFORMATION)
Else
MessageRequester("Erreur","Numéro de série éronée !",#MB_ICONWARNING)
EndIf
EndIf
EndProcedure
Procedure OpenWindow_Win()
If OpenWindow(#win, 641, 253, 365, 154, "Engesitrement via Serial", #PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_TitleBar)
If CreateGadgetList(WindowID(#win))
StringGadget(#NameInput, 5, 45, 355, 20, "")
StringGadget(#KEYinput, 5, 95, 355, 20, "", #PB_String_BorderLess)
TextGadget(#Text_2, 5, 25, 60, 15, "Votre Nom :")
TextGadget(#Text_3, 5, 75, 120, 15, "Votre numéro de série :")
ButtonGadget(#BT_GO, 5, 125, 355, 20, "Enregistrer")
SetGadgetFont(#BT_GO, LoadFont(#Font_BT_GO, "Arial", 10, 16))
;PureCOLOR_SetButtonColor(#BT_GO, #PureCOLOR_SystemColor, $6FC2FB)
EndIf
EndIf
EndProcedure
OpenWindow_Win()
Repeat
Select WaitWindowEvent()
Case #PB_Event_Gadget
Select EventGadget()
Case #BT_GO
Serial()
EndSelect
Case #PB_Event_CloseWindow
Select EventWindow()
Case #win
CloseWindow(#win)
Break
EndSelect
EndSelect
ForEver