用Visual Basic设计Windows门禁程序
来源:互联网
作者:西部数码
时间:2008-04-09
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!
Dim x As Boolean
' 声明一个布尔型的变量x,布尔型变量的值只能是 true 和false
Dim i As Integer
'声明一个整型变量i,整型变量的取值范围在-32768~32767之间
Dim ext as Long
'声明一个长整型的变量,用来记录ExitWindowsEx函数的返回值。
'整型变量的取值范围-2,147,483,648 到 2,147,483,647
'如果变量值超出了所属变量类型的取值范围,会因为溢出而引起系统出错,中断程序执行
Dim username, password as String
声明两个字符型变量,分别代表用户名和密码
'****************************************************
'不用循环语句但还想让程序循环的运行,可以靠事件的驱动
'****************************************************
Private Sub Command1_Click()
' Private说明子程序sub是"私有"的,即作用范围仅限于这个窗体(frmMain)
' Command1.click表示command1控件的click事件。整个一句的意思是在窗体frmMain
' 中用鼠标单击(click)command1控件会引发下面的程序。
On Error Resume Next
' 这句是出错处理,意思是执行下边的代码时忽略非法操作,继续执行下面的每一条指令
' 如果没有这句,那么如果程序执行时有非法操作,将停止执行。
If i < 3 Then ' i 是计数器,整型变量系统默认的初值为0
Open "c:\windows\use.txt" For Input As #1
'打开文件
Input #1, user, password
'读取数据
If Text1.Text <> user Or Text2.Text <> password Then
' Or 表示逻辑"或"运算,意思是两个条件中只要有一个满足,就执行下边的程序。
i = i 1
' 当输入的信息不正确的时候i自动加1
Picture1.Picture = LoadPicture ("d:\program files\Microsoft visual studio\common\graphics\icons\misc\face01.ico")
MsgBox "不要妄图进入系统!", vbExclamation vbOKOnly, ""
Text1.Text = "" ' 当用户输入的信息不正确时,清空文本框中的信息准备下次输入
Text2.Text = ""
Text1.SetFocus
End If
' 每种编程语言的条件语句和循环语句开始和结束都有标志,并且成对出现。End if 就是
' VB中if 语句的结束标志,它结束的是离它最近的if。
Else
' 输入信息三次出错之后,执行下列程序
Picture1.Picture = LoadPicture ("d:\program files\Microsoft visual studio\common\graphics\icons\misc\face04.ico")
' 改变卡通的表情
MsgBox "用户非法!", vbExclamation, ""
' 显示 "用户非法"
ext = ExitWindowsEx(EWX_SHUTDOWN, 0)
' 调用模块中声明的API函数,关闭计算机。
End If
If user = Text1.Text And password = Text2.Text Then
'用户输入了正确的信息
Call Disable(False)
End
' 程序运行结束
End If
Close #1
' 关闭文件
End Sub
'****************************************************
' "取消"按钮
Private Sub Command2_Click()
Text1.Text = ""
Text2.Text = ""
' 点击Command2(取消)后清空文本框。系统等待用户重新输入信息
End Sub
'****************************************************
' "退出"按钮
Private Sub Command3_Click()
ext = ExitWindowsEx(EWX_SHUTDOWN, 0)
' 点击这个按钮之后直接关闭计算机
End Sub
'****************************************************
' "修改"按钮
Private Sub Command4_Click()
frmmain.Hide
frmLogin.Show
' 点击这个键隐藏主程序窗体,显示验证身份程序窗体
End Sub
'****************************************************
' "关于"按钮
Private Sub Command5_Click()
frmAbout.Show
frmmain.Hide
' 跟Command4的Click事件一样,它的作用是启动其他窗体。
End Sub
'***************************************************
' frmMain窗体被装入内存时执行下列程序
Private Sub Form_Load() '
Call Disable(True)
' 屏蔽Ctrl Alt Del 组合键
If Dir$("c:\windows\use.txt") = "" Then
' 如果 "c:\windows\use.txt"文件不存在,说明本程序在这台机器上没有被运行过
MsgBox "这时本程序第一次运行,请您先输入用户名和密码", vbInformation vbOKOnly, "感谢您使用门禁系统"
' 出现提示框,通知用户输入用户名和密码
frmBoard.Show
' 显示添加新用户窗口
frmMain.Hide
' 隐藏当前窗口
End If
' 结束 if 条件语句
End Sub
Private Sub Picture1_Click()
Beep
' 点击Picture box控件时 发出"嘟嘟"声
End Sub
'**************************************************
'在text1文本框中按下回车键所触发的事件
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
' 如果按下的键是回车键。回车键的Ascii 码是13,
Text2.SetFocus
' 光标移动到Text2文本框中,这样可以简便用户的操作
End If
End Sub
'*************************************************
' 跟上边Text1的一样,只是这次的焦点移动到"确定"按钮上
Private Sub Text2_KeyPress (KeyAscii As Integer)
If KeyAscii = 13 Then
Command1.SetFocus
End If
End Sub
frmMain窗体的程序编写完了,有兴趣的读者可以自己编写其他几个窗体的程序,其他的几部分程序跟上面介绍的主程序有很多相似之处。可以根据上边列出的各模块功能编写,也可以自己另行设计。关键在于参与,程序不编是肯定不行的,别太不自信,其实不很难的。
VB中可以不定义变量,而由程序自动定义为Variant类型。但建议你在编程序的时候主动定义变量,这样有助于在程序出错时加以更正,也便于程序的快速执行。为此你可以在标题栏的"工具"-〉"选项"-〉"编辑器"中选择"要求变量定义"。定义变量可以使用 Dim,Static,Public,Private等语句。需要注意的是变量的作用范围,由于本文的目的是介绍编程的经验就不做多的解释了。一般的书上都可以看到。
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!



