Счетчик попыток входа? - PullRequest
0 голосов
/ 08 марта 2019

Я создаю страницу входа в Visual Basic 6.0. Я должен включить счетчик так, чтобы после трех неудачных попыток страница закрылась сама собой. Я написал следующий код в командной кнопке. Хотя ошибок нет, но счетчик не работает. Вот код:

Private Sub Command1_Click()
Dim count As Integer
count = 0

If Form1.Text1 = "admin" And Form1.Text2 = "admin" Then
MsgBox "Login Succesfull", vbOKOnly + vbInformation, "Welcome"
Else
    count = count + 1
    If count = 3 Then
      End
    Else
        MsgBox "Login Unsuccesfull", vbOKOnly + vbCritical, "Try Again"
        Form1.Text1 = ""
        Form1.Text2 = ""
        Form1.Text1.SetFocus
    End If
End If
End Sub

Ответы [ 2 ]

2 голосов
/ 08 марта 2019

Просто измените Dim на Static, чтобы он сохранял свое значение при вызовах. А также избавиться от строки, которая устанавливает его на ноль:

Private Sub Command1_Click()
    Static count As Integer

    If Form1.Text1 = "admin" And Form1.Text2 = "admin" Then
        MsgBox "Login Succesfull", vbOKOnly + vbInformation, "Welcome"
    Else
        count = count + 1
        If count = 3 Then
          End
        Else
            MsgBox "Login Unsuccesfull", vbOKOnly + vbCritical, "Try Again"
            Form1.Text1 = ""
            Form1.Text2 = ""
            Form1.Text1.SetFocus
        End If
    End If
End Sub
1 голос
/ 08 марта 2019

Вы устанавливаете свой счет на 0 каждый раз, когда нажимается Command1.Вам нужно объявить count вне этого подпрограммы и инициализировать его равным 0 в другом месте.

Private count As Integer

Private Sub Command1_Click()    
    If Form1.Text1 = "admin" And Form1.Text2 = "admin" Then
        MsgBox "Login Succesfull", vbOKOnly + vbInformation, "Welcome"
    Else
        count = count + 1

        If count = 3 Then
            End
        Else
            MsgBox "Login Unsuccesfull", vbOKOnly + vbCritical, "Try Again"
            Form1.Text1 = ""
            Form1.Text2 = ""
            Form1.Text1.SetFocus
        End If
    End If
End Sub
...