第二章简单的Visual Basic程序设计
本章首先以一个最简单的编程例子为切入点,介绍完成一个应用程序的开发过程,然后归纳出VB应用程序的开发步骤。接着按照归纳出来的步骤,应用于另一个难度更大的程序实例的开发过程。并介绍如何使自己设计的应用程序在脱离VB的环境下运行,以及如何制作安装盘。
2.1  初识VB应用程序
一个VB应用程序称为一个工程,用来完成一个任务。“工程”一词是由Microsoft公司的VB6.0人员根据英文“Project”直译的,此处似乎称为项目更为合适。在Microsoft 公司的系列产品Visual FoxPro6.0中,就将Project译为项目。为了与VB6.0中所用名称一致,本书将仍按“工程”来称呼“项目”。
一个工程由多个文件组成,除了工程文件(扩展名为.vbp)外,还可能包含有窗体文件(扩展名为.frm)、窗体二进制数据文件(扩展名为.frx)、标准模块文件(扩展名为.bas)、类模块文件(扩展名为.cls)、资源文件(扩展名为.res)、ActiveX控件文件(扩展名为.ocx)和图形文件等。
下面介绍一个最简单程序的完成过程。
【例2-1】设计一个程序,运行时用鼠标单击窗体,就在窗体上显示“Hello, Visual Basic!”一行文字。程序运行结果如图2-1所示。
图2-1  【例2-1】运行结果
步骤如下:
(1) 启动VB6.0之后,在“新建工程”对话框中单击“打开”按钮,这时就新建了一个工程。
(2) 在窗体设计器中调整所设计窗体Form1的大小。
(3) 通过属性窗口为窗体对象Form1设置属性:在属性窗口左列到“Caption”属性,然后将其右列中原有的属性值“Form1”改为“例2-1”。
(4) 双击窗体对象Form1,打开代码窗口,在代码窗口标题栏下面右方的事件列表中选
择“Click”事件,这时可以看到系统提供一个相应Form_Click()过程的框架:
Private Sub Form_Click()
End Sub
我们在这两行之间输入一个语句:
Visual
Basic!"
"Hello,
Print
添加事件过程代码如图2-2所示。
图2-2  在代码窗口中编程
打开代码窗口的方法还可通过单击工程管理器窗口上的“查看代码”按钮,或者选择菜单命令“视图”/“代码窗口”来实现。
(5) 运行程序之前,最好是先保存程序,以防止由于程序不正确可能造成死机而导致程序丢失。可以选择菜单命令“文件”/“保存Form1”,或右击工程管理器中的Form1,选择“保存Form1”来保存窗体文件。在图2-3所示的“文件另存为”对话框中输入文件名“Ex2-1”并单击“保存”按钮。
保存工程文件可以选择菜单命令“文件”/“保存工程”,或单击工具栏上的“保存工程”按钮。在图2-4所示的“工程另存为”对话框中输入工程文件名“Ex2-1”并单击“保存”按钮。
图2-3  窗体“另存为”对话框图2-4  工程“另存为”对话框
(6) 接着就可以运行程序了。要运行一个已完成的应用程序,只要单击工具栏上的“启动”按钮。单击“启动”按钮后,你会发现屏幕上显示了一个标题为“例2-1”的空白窗体,这时用鼠标单击该窗体,就会在窗体上显示“Hello, Visual Basic!”一行文字,如图2-1所示。继续单击就会继续显示。要结束程序的运行,可以单击运行窗体右上角的“关闭”按钮,也可以单击工具栏上的“结束“按钮。
选择菜单命令“运行”/“启动”也可以运行程序。
(7) 一个程序运行之后可能需要修改或进一步完善。例如,我们发现上面例子所运行的窗体并没有显示在屏幕的正中位置,所显示的文字字号太小,单击窗体不如单击按钮直观。这时就需要对程序作进一步改进。
选择工具箱中的“CommandButton”控件,在Form1窗体上绘出一个命令按钮,修改其Caption属性为“显示问候”。在窗体设计器中单击Form1选定窗体对象,然后在属性窗口左列选中“StartUpPosition”属性,选择其右列列表中的“2 – 屏幕中心”。再在属性窗口左列选中“Font”属性,单击其右列的“…”按钮,打开“字体”对话框,在“大小”中选择“20”,确定。
接着,重新修改程序代码。双击Command1控件,将原来写在Form_Click()过程的语句:
Basic!"
Visual
Print
"Hello,
剪切后粘贴到Command1_Click()过程中。
修改后的程序需要重新保存。这时只需单击“保存工程”按钮就能够同时将已经命名过的其他文件一起保存。
重新运行程序将会见到图2-5所示效果。
图2-5  改进后的【例2-1】运行效果
2.2  VB应用程序的开发步骤
从上面例子可以看出,开发一个应用程序一般应按下面几个步骤进行:
1.创建工程
启动VB6.0,新建一个工程。
2.设计用户操作界面
使用工具箱中提供的控件,在窗体上按用户需求绘出各种控件,形成用户界面。用户界面由窗体和控件两部分组成。
3.设置各对象的属性
界面设计完毕之后,就要为窗体和各控件设置属性。设置属性是通过属性窗口来完成的,当然,在以后程序的执行过程中还可以通过执行程序代码来进一步修改对象的属性。
4.编写程序代码
VB程序是由语句构成的。一个事件过程是为响应在一个对象上发生的事件所进行的操
作。修改后的例2-1中用到了Command1的单击(Click)事件,当运行时单击该命令按钮,就会执行这段程序的语句,因而在窗体上显示出“Hello, Visual Basic!”文字。
除了事件过程之外,用户还可以在代码窗口的“通用”段设计自己的其他过程,供别处调用。这部分内容将在下一章中介绍。
5.保存和运行程序
程序设计完毕就要保存。工程中存在窗体文件,也可能建立过标准模块,还有工程文件本身,都要保存起来。
保存程序之后就可以运行程序,运行程序一般是单击工具栏上的“启动”按钮。当一个程序运行起来,VB解释程序就开始逐行解释,逐行执行。
6.修改和完善程序
程序经过运行之后,可能会发现新的问题,有的问题是由于语法错误引起的,有的问题是由于逻辑设计错误造成的,有的问题是由于原先考虑欠周的,有的问题却是因为界面设计效果不好的。这些问题都可以在进一步修改中得到完善。最终要将修改后的程序重新保存。
7*.编译成.exe文件
如果想要使应用程序离开VB环境后还能运行,就必须对应用程序进行编译,生成.exe 文件。这样,在退出了VB集成开发环境之后,只要在“我的电脑”或“资源管理器”中到我们编译成.exe的应用程序双击,就能运行该程序。
详细介绍见后面2.3节。
8*.制作安装盘
虽然在上个步骤我们已将应用程序编译成.exe文件,但这种.exe文件只能在安装了VB 系统的计算机上才能运行,因为运行时还需要用到VB环境的一些别的文件,如.dll文件、.ocx 文件等。为了便于应用程序的商品化,VB提供了将应用程序制成安装盘的手段,以便能够在完全脱离VB系统的Windows环境下运行。
这一步骤不是必须的,用户可以根据情况进行选择。详细介绍见后面2.4节。
2.3  产生独立的可执行程序
下面我们通过一个稍微复杂一点的例子来讲述VB应用程序的开发过程,并介绍如何将该应用程序编译成.exe可执行文件。
【例2-2】设计一个程序,能随机出题,给小学生做加法练习。要求在窗体上设计三个文本框,分别存放加数、被加数(两位随机整数)和输入答案;设计两个标签,用于提示“+”和“=”;设计三个命令按钮,分别完成“出题”、“交卷”和“退出”功能。交卷后要有一句评语点评。
下面描述该例的开发过程:
position标签属性(1) 首先新建一个工程,进入窗体设计器窗口。
(2) 根据题目要求,设计如图2-6所示窗体界面,并为各对象设置属性。
设计窗体界面时先将窗体对象Form1的Caption属性改为“例2-2”。
将第一个文本框Text1加到窗体上,调整其大小后,删去Text1的Text属性值“Text1”;再将其复制之后粘贴两次产生另外两个文本框Text2和 Text3,分别将他们拖动到合适位置。要注意的是,复制之前一定要先单击所选对象;粘贴时系统会弹出一个对话框,询问“是否创建一个控件数组?”,应选择“否”回答,就会产生各自独立的控件对象。
图2-6  【例2-2】用户界面设计
接着在窗体上添加两个标签Label1和Label2,将其Caption属性分别置为“+”和“=”。
最后按照前面介绍的将文本框添加到窗体的方法,将三个按钮Command1、Command2、Command3添加到窗体上,将其Caption属性分别置为“出题”、“交卷”和“退出”。
(3) 界面设计和属性设置完成之后就可以着手编程了。
Command3的Click事件代码最为简单,程序如下:
Private Sub Command3_Click()
End
End Sub
Command1的Click事件过程代码如下:
Private Sub Command1_Click()
Text1.Text = Int(Rnd * 90) + 10  '产生两位随机整数
Text2.Text = Int(Rnd * 90) + 10  '产生两位随机整数
End Sub
Command2的Click事件过程代码如下:
Private Sub Command2_Click()
Dim a As Integer, b As Integer, c As Integer '定义三个整型变量
a = Val(Text1)
b = Val(Text2)
c = Val(Text3)
If  a + b = c Then
m = MsgBox("高兴地告诉你,本题答对了!", 64, "结果评语")
Else
m = MsgBox("遗憾地通知你,本题答错了!", 16, "结果评语")
End If
End Sub
这里对上面程序做一些解释,Command3_Click()过程中的End语句用来控制程序运行结束,相当于单击窗体“关闭”按钮的效果。Command1_Click()过程中用到两个数学函数,一个是Rnd,用来产生区间[0, 1]间的单精度随机实数,Int函数是取整函数,返回小于或等于其参数的第一个整数。Int(Rnd * 90) + 10是构造一个两位整数的表达式。Command2_Click()

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。