诶,好的好的,今天依旧是由我给大家带来的大型情感类、娱乐类、外加一点点技术类的vb吐槽班。这次是没过多长时间,上次也是写了预告,说是要接着讲剩下的窗体啥的,作为一个娱乐型的编程人员,基本上也就能说说简单的一点代码,而且还都是百度的。。。
咳咳。。。写了两篇了,我这也是发现了个问题。就是写一篇吐槽班要好长时间,完了写好了还得改,打开一遍草稿改一次,打开一遍草稿改一次,再打开再改。反正每次写完了都是同一种感觉:这你妹饿死我了。。。
废话还是少说得好,直接进入正题吧。
首先,当我们打开这个系统的时候,看到的就是这个小小的登陆界面,小伙伴你好~
重点是代码部分,本来我看到的时候还吓了一跳,靠!这么少?查完了一些不懂得之后才知道,这原来就是传说中的经典登录窗体
Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String,nSize As Long) As Long Public OK As Boolean '判断是否用户名密码正确,是否登录成功 Dim miCount As Integer '记录登录次数 Private Sub Form_Load() Dim sBuffer As String Dim lSize As Long sBuffer = Space$(255) '给sBuffer预留255字节的空间,是起缓冲的作用 lSize = Len(sBuffer) 'sBuffer串的长度 Call GetUserName(sBuffer,lSize) '读取用户名到sBuffer中 '这里是判断是否存在上次输入的用户名 '如果用户名大于0个字符,设置用户名为空,否则为空字符串 If lSize > 0 Then txtUserName.Text = "" Else txtUserName = vbNullString End If OK = False miCount = 0 End Sub简单说一下,这个就是加载窗体时,利用API函数读取输入的用户名信息,并且判断是否登录成功。当你点了确定按钮之后,将会执行下面的代码
Private Sub cmdOK_Click() Dim txtsql As String Dim mrc As ADODB.Recordset Dim Msgtext As String UserName = "" '用户名初始为空 '如果用户名为空时警告 If Trim(txtUserName.Text = "") Then MsgBox "用户名不能为空,请重新输入",vbOKOnly + vbExclamation,"警告" txtUserName.SetFocus Else txtsql = "SELECT * FROM user_info WHERE user_ID ='" & txtUserName.Text & "'" '在user_info中查询user_ID是输入的用户名 Set mrc = Executesql(txtsql,Msgtext) '检查用户名是否存在 If mrc.EOF Then MsgBox "没有这个用户,请重新输入","警告" txtUserName.SetFocus Else If Trim(mrc.Fields(1)) = Trim(txtPassWord.Text) Then '密码正确时,进行登录 OK = True mrc.Close Me.Hide UserName = Trim(txtUserName.Text) Else MsgBox "输入密码不正确,请重新输入","警告" txtPassWord.SetFocus txtPassWord.Text = "" End If End If End If miCount = miCount + 1 '登陆次数超过三次,窗体隐藏 If miCount = 3 Then Me.Hide End If End Sub先检查输入的信息是否为空,如果不为空,将执行我们上次定义的Executesql函数。然后用select语句查找符合的字段,如果为空,则不存在此用户。如果不为空,检查密码是否一致,一直则登录成功,显示主界面。
主界面没啥难的,只是通过菜单进入不同的MDI子窗体。