登录尝试的计数器?

问题描述 投票:0回答:2

我正在设计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
vb6 login-page
2个回答
2
投票

只需将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
投票

每次单击Command1时,您将计数设置为0。你需要在那个sub之外声明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
© www.soinside.com 2019 - 2024. All rights reserved.