【机房收费系统】登陆窗体部分

来源:互联网 发布:web前端面试题知乎 编辑:程序博客网 时间:2024/06/08 02:54

           在做机房的时候,发现自己把登陆窗体的部分给丢掉了,于是查了一下有关的登录知识

        

          1、登陆代码的实现


                 首先,登陆就需要有username,需要先在模块里用一个API函数,Getuser。

                  

             Public Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long

             Public UserName As String     '先定义一个username<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">             </span>
             Public OK As Boolean    '定义一个ok的boolean 变量,用于username的使用                Dim micount As Integer  '定义一个输入次数<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">       </span>
          

               在formload 中写:

      

Private Sub Form_Load()    Dim sBuffer As String   '定义一个缓存数据    Dim lSize As Long        sBuffer = Space$(255)    lSize = Len(sBuffer)    '把sbuffer的缓存里的内容赋值给lsize        Call GetUserName(sBuffer, lSize)    'API中的字符串做参数,但需要提前确定大小        If lSize > 0 Then        Text1.Text = ""    Else        Text1.Text = vbNullString   '没有字符串    End If        OK = False    micount = 0    End Sub


           在cmdok 中写:

   

Private Sub cmdOk_Click()        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)   '然后再用Execute 执行SQL语句                If mrc.EOF Then         '如果到了数据库的最后一行,那么,就是没有这个数据                    MsgBox "没有这个用户,请重新输入用户名!", vbOKOnly + vbExclamation, "警告"            Text1.Text = ""            Text1.SetFocus        Else        '如果用户名输对了,那么就需要验证密码是否正确了                    If Trim(mrc.Fields(1)) = Trim(Text2.Text) Then                OK = True   '如果用户名对了的话,那么ok就赋值与true                mrc.Close   '全对了,就关闭数据库                Me.Hide     '隐藏窗体                UserName = Trim(Text1.Text)     '把username指定值为当前用户输入的值            Else    '如果密码不正确的话,在msgbox                MsgBox "输入密码吧正确,请重新输入!", vbOKOnly + vbExclamation, "警告"                Text2.Text = ""                Text2.SetFocus            End If        End If    End If        micount = micount + 1   '最后在每次输入不正确的时候,都记录下一个值,即micount    If micount = 3 Then        MsgBox "您已输入3次错误!"        Me.Hide    End If    Exit SubEnd Sub

                在cmdcancel里面写:

                

Private Sub cmdCancel_Click()    OK = False  '当取消登录时,它会让ok等于false    Me.HideEnd Sub
        


          好了,代码部分实现了登陆,可是你会发现登陆界面不能再主窗体前面出现,所以,以下代码可以实现:


           在模块里写下如下代码:

Public fMainForm As frmMain

 

Sub Main()    Dim fLogin As New frmlogin    fLogin.Show vbModal '显示登录窗体        If Not fLogin.OK Then        End    End If    Unload fLogin    '    Set fMainForm = New frmMain '显示主窗体'    fMainForm.Show    frmMain.Show        End Sub


          这样一个登陆窗体就完美的显示了~







0 0
原创粉丝点击