'Quand tu cliques, et que le password est incorrect Dim Password As String = "password" Dim NbEssais As Integer = 3 Dim Correct as Boolean = False While NbEssais > 0 'quand tu cliques sur le bouton c'est toujours 3 NbEssais = NbEssais - 1 If TBpass.Text = Password Then 'on vient pas ici MsgBox("Mot de Passe Correct !") Correct = True NbEssais = 0 Else 'on vient là MsgBox("Mauvais Mot de passe et il reste " & NbEssais.ToString & " essais") TBpass.Car() ' Comme l'a dit VB95 on ne sait pas ce que fait cette méthode, donc je continue mon analyse en y faisant abstraction End If End While 'et ici on retourne au début du while
'2eme tour While NbEssais > 0 'NbEssais vaut 2, il s'est passé moins d'1 milliseconde depuis le click sur le messageBox, TBpass.Text n'a pas changé (sauf si TBpass.Car() y fait quelque chose, mais ça on ne sait pas) NbEssais = NbEssais - 1 If TBpass.Text = Password Then 'on vient toujours pas ici MsgBox("Mot de Passe Correct !") Correct = True NbEssais = 0 Else 'on revient forcément là MsgBox("Mauvais Mot de passe et il reste " & NbEssais.ToString & " essais") TBpass.Car() End If End While ' ici on retourne au début du while
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionTBpass.Car()? ( voir les points d'interrogation )
Private Sub BTvalider_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BTvalider.Click ' on déclare et initialise les variables Dim Password As String = "password" Dim NbEssais As Integer = 3 ' nombre d'essais max Dim Correct as Boolean = False While NbEssais > 0 ' tant qu'il reste des essais possibles NbEssais = NbEssais - 1 If TBpass.Text = Password Then ' mot de passe OK MsgBox("Mot de Passe Correct !") Correct = True NbEssais = 0 ' on met à 0 pour pouvoir sortir du While Else ' mauvais mot de passe MsgBox("Mauvais Mot de passe et il reste " & NbEssais.ToString & " essais") TBpass.Car() ' ????? End If End While If Correct = False then MsgBox("Le nombre limite d'essais est atteint ! Le programme va maintenant se fermer!") Application.Exit() Else Form2.Show() ' mot de passe correct : on affiche la seconde form End If End Sub