Numéro de série par rapport au nom prenom

Partagez votre expérience de PureBasic avec les autres utilisateurs.
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Numéro de série par rapport au nom prenom

Message par Ar-S »

Voilà un petit code tout simple pour créer/vérifier un numéro de série pour vos logiciels. Il peut être complémentaire du code de Jacobus (LIEN ICI)

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
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels