机房系统之一

登陆界面简介

就目前来看所有的登陆界面都大同小异,都是需要用户名密码,当然微信的登陆界面比较特殊,微信是扫为二维码登陆的。微信目前不支持账号密码登陆(2017.12.22)。

今天主要说说VB做机房的时候的登陆界面。和传统的登陆界面一样,需要用户名和密码登陆的,界面设计如下图所示:

很经典的一个登陆界面,不过有人问过我,为什么要有这个取消按钮呢?这个问题大家都可以想想,可以想想都见过什么样的登陆界面,都各有什么好处,设计者为什么要设计成这样的,其中的学问很大,希望看到这篇文章的人能够重视。

针对于这个取消按钮我给出的答案是:软件运行中我不知道用户名和密码,而且恰巧我鼠标也不能用了,我想退出这个界面我应该怎么办呢?如果有这个按钮的话就可以通过键盘的tab键来切换退出界面了,或许设计者还有其他的意图,只是我没有深究出来,希望朋友们可以集思广益来讨论一下这个问题。

下来说说写代码中遇到的问题。

最开始脑子里完全没有头绪,不知道怎样去写这个代码。下不了口,就跟面前放着一个大榴莲似的,想吃无从下口。因为之前有做个一个学生系统的小软件,所以就借鉴参考了一下。最后做出了机房登陆系统的登陆窗口代码,具体代码如下

Option Explicit
Public ok As Boolean
'记录确定次数
    Dim micount As Integer
Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal Lpbuffer As String, Nsize As Long) As Long
Private Sub Command1_Click()
'用来存放SQL 语句
   Dim txtSQL As String
   Dim mrc As ADODB.Recordset
'用来存放记录集对象
    Dim msgtext As String
    
     username = ""
     '判断输入用户名是否为空
     If Trim(Text1.Text = "") Then
          MsgBox "没有这个用户,请重新输入用户名!", vbOKOnly + vbExclamation, "警告"
            Text1.SetFocus
             Else
                '查询指定用户名的记录
                  txtSQL = "select*from user_info where userid='" & Text1.Text & "'"
                      '执行查询语句
                       Set mrc = ExecuteSQL(txtSQL, msgtext)
                            If mrc.EOF Then
                              MsgBox "没有这个用户,请重新输入用户名!", vbOKOnly + vbExclamation, "警告"
                                 Text1.SetFocus
                                 Else
                                  '判断输入密码是否正确
                                    If Trim(mrc.Fields(1)) = Trim(Text2.Text) Then
                                       ok = True
                                         mrc.Close
                                           Me.Hide
                                             username = Trim(Text1.Text)
                                             'FrmMain.Show
                                         Else
                                        MsgBox "输入密码不正确,请重新输入!", vbOKOnly + vbExclamation, "警告"
                                    
                                Text2.Text = ""
                                Text2.SetFocus
                          End If
            End If
    End If
        '记载输入密码次数
         micount = micount + 1
           If micount = 3 Then
              MsgBox "输入错误已到3次,请检查后再登陆!", vbOKOnly + vbExclamation, "警告"
              End
            End If
       ' Call main
        Exit Sub
End Sub

Private Sub Command2_Click()
   ok = False
   Me.Hide
End Sub

Private Sub Form_Load()
        Dim Sbuffer As String
        Dim Lsize As Long
        Sbuffer = Space$(255)
        Lsize = Len(Sbuffer)
        Call GetUserName(Sbuffer, Lsize)   '防止存在上一次输入的用户名
        If Lsize > 0 Then
           Text1.Text = ""
            Else
           Text1.Text = vbNullString
        End If
        
        ok = False
        micount = 0
        
End Sub

猜你喜欢

转载自blog.csdn.net/qq_39674002/article/details/78880484