| | | 用Visual Basic设计Windows门禁程序 | | 2002-01-22·
·李 刚··YESKY
| 上一页 1 2 3 4 5 对文件的操作我们先介绍到这里,下面我们边看代码边分析,这是主窗体的源代码。VB中解释程序不处理单引号后的部分。
frmMain '首先是变量声明部分 '*************************************************** 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等语句。需要注意的是变量的作用范围,由于本文的目的是介绍编程的经验就不做多的解释了。一般的书上都可以看到。
上一页 1 2 3 4 5 | | | 感谢
访问天极网,如果您觉得该文章涉及版权问题,请看这里!
|
|