[R] Renouveler une tentative

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
Ks10
Niveau 6
Niveau 6
Messages : 282
Enregistré le : mer. 25 avr. 2012 20:38
Status : Hors ligne

[R] Renouveler une tentative

#1

Message par Ks10 »

Bonjour,

J'aimerais pouvoir offrir 5 chances d'entrer un mot de passe et après sa refuser l'accès si ce n'est toujours pas le bon.

Voila un exemple de mon code :

Code : Tout sélectionner

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=

$tentative = "1"
$password = "bonjour"

Global $Form1 = GUICreate("Form1", X, X, X, X)
Global $label = GuiCtrlCreateLabel("Tentative :", X, X, X, X)
Global $label2 = GuiCtrlCreateLabel($tentative, X, X, X, X)
Global $pass = GuiCtrlCreateInput("", X, X, X, X)
Global $button = GuiCtrlCreateButton("OK", X, X, X, X)

GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###



While 1
 $nMsg = GUIGetMsg()
 Switch $nMsg

  Case $button
        If $pass = $password Then
               Msgbox(64, "Informations", "Mot de passe correct"
        Else
              Msgbox(64, "Informations", "Recommencer, mot de passe incorrect")
              GuiCtrlDelete($label2)
              $label2 = GuiCtrlCreateLabel($tentative + "1", X, X, X, X)
        Endif 


  Case $GUI_EVENT_CLOSE
   Exit

 EndSwitch
WEnd
 
Comment faire pour renouveler cette action 4 fois si il se trompe 4 fois ? Et bien evidemment toujours incrémenter la valeur jusqu'a ce qu'elle ateigne 5.

Si mon code n'est pas correct, n'hésitez pas à me corriger.

Merci d'avance :)
Modifié en dernier par Ks10 le jeu. 23 mai 2013 16:33, modifié 1 fois.
Avatar du membre
walkson
Modérateur
Modérateur
Messages : 1039
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

Re: [..] Renouveler une tentative

#2

Message par walkson »

Bonjour,
Pas pratique les "X" dans l'exemple
Je n'ai pas testé mais je pense à cela:

Code : Tout sélectionner

  Case $button
      $tentative = 1
      do
        If $pass = $password Then
               Msgbox(64, "Informations", "Mot de passe correct"
               ExitLoop
        Else
              Msgbox(64, "Informations", "Recommencer, mot de passe incorrect")
              GUICtrlSetData($label2,$tentative)
              $tentative = $tentative + 1
              
        Endif 
    Until $tentative = 5
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
Avatar du membre
Ks10
Niveau 6
Niveau 6
Messages : 282
Enregistré le : mer. 25 avr. 2012 20:38
Status : Hors ligne

Re: [..] Renouveler une tentative

#3

Message par Ks10 »

Désolé pour les " X " , je suis au bureau & je n'est pas mon code sous les yeux x)

Avec ce code, si le code est bon il sortira automatiquement de la boucle " do " ?
Dans le contraire il renouvelle jusqu'a ce que tentative atteigne 5 c'est ça ?

Merci pour ton code je le test ce soir & je vous tien au courant.
Avatar du membre
walkson
Modérateur
Modérateur
Messages : 1039
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

Re: [..] Renouveler une tentative

#4

Message par walkson »

Aprés un test, ceci marche mieux
► Afficher le texte
Il y a, peut être, plus simple ?
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
Avatar du membre
Ks10
Niveau 6
Niveau 6
Messages : 282
Enregistré le : mer. 25 avr. 2012 20:38
Status : Hors ligne

Re: [..] Renouveler une tentative

#5

Message par Ks10 »

Je te remercie pour ce code, il est fonctionnel oui :)
Je l'est adapter a mon code ^^

Merci encore une fois.
Répondre