v b实用教程 - 实验指导书

更新时间:2024-04-26 00:56:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《V B实用教程》实验指导书

目 录

实验 1 设计简单的Visual Basic应用程序 实验 2 Visual Basic语言基础 实验 3 顺序结构程序设计 实验 4 选择结构程序设计 实验 5 循环结构程序设计 实验 6 数组 实验 7 过程 实验 8 窗体

实验 9 VB中的常用控件 实验 10 文件系统

实验 11 Visual Basic图形操作 实验 12 建立和访问数据库

实验1 设计简单的Visual Basic应用程序

一、实验目的

1. 掌握启动和退出Visual Basic 6.0的方法。 2. 掌握设计一个简单程序的基本步骤。

3. 熟练掌握菜单栏、工具栏、窗体窗口、工具箱、工程资源管理器窗口和属性窗口的使用。

4. 了解Visual Basic 6.0联机帮助的使用。

二、实验内容

1. 设计一个简单程序:计算圆面积。在上机调试程序过程中,掌握启动和退出Visual Basic 6.0的方法,初步掌握菜单栏、工具栏、窗体窗口、工具箱、工程资源管理器窗口和属性窗口的使用。

(1)启动Visual Basic 6.0。启动Visual Basic 6.0的方法有两种: ? 单击“开始”|“程序”|“Microsoft Visual Basic 6.0”; ? 在桌面上双击Microsoft

Visual Basic 6.0快捷方式图标。

启动Visual Basic 6.0后,系统进入Visual Basic 6.0集成开发环境,并显示一个“新建工程”对话框,如图14-1-1所示,默认选择是建立标准工程(标准EXE)。

(2)界面设计。

单击“打开”按钮,Visual Basic 6.0进入设计模式。系统提供一个名为Form1的窗体,我们就在这个窗体上进行界面设计。

建立控件的方法为:双击工具箱上

的命令按钮(CommandButton),在窗体中出现一个带有“Command1”字样的命令按钮图形对象,用鼠标把它拖到窗体的合适位置;再次工具箱上的命令按钮(CommandButton),在中出现一个带有“Command2”字样的命令按形对象,用鼠标把它拖到窗体的合适位置。

图14-1-1

双击窗体钮图

(3)属性设置。

为了明确应用程序的功能,一般需要修改控件的标题属性。首先,从屏幕右边的属性窗口中打开Form1的属性列表,找到Caption属性栏,把其值由“Form1”改为“计算圆面积”(如图14-1-2),按回车键确认。这时,窗体标题也随之改变了。然后,从属性窗口中打开命令按钮Command1的属性列表,找到Caption属性栏,把其值由“Command1”改为“开始”。用同样方法,把命令按钮Command2的Caption值改为“结束”。至此,用户界面设计完成。(如图14-1-3所示)。

图14-1-2

图14-1-3

(4)编写程序代码。

计算圆面积的计算公式是S=?R2,其中,?表示圆周率(这里取值为3.14),R为半径,S为圆面积。根据计算公式,编写的程序如下。 Private Sub Command1_Click() Dim s, r

r = InputBox(\请输入圆半径:\ s = 3.14 * r * r

Print Print \半径为 \面积为 \End Sub

Private Sub Command2_Click() End End Sub

(5)修改程序代码。

在VB中,输入和修改程序代码必须要进行代码编辑环境,进入代码编辑环境有4种方法:

? 双击控件;

图14-1-4 ? 使用鼠标右键单击控件,从弹出的菜

单中选择“查看代码”命令执行;

? 从菜单栏的“视图”菜单中选择“代码窗口”命令执行; ? 在工程资源管理器窗口单击“查看代码”图标。

无论使用哪一种方法进入代码编辑环境,都会显示代码编辑窗口(如图14-1-4)。

代码编辑窗口中的顶端有两个下拉框,左边是对象列表框,右边是事件列表框。从对象列表框中选择控件名和从事件列表框中选择相应的事件名后,代码编辑窗口中显示出相应的事件驱动程序的窗口。这时就可以在事件驱动程序的窗口中输入程序代码。

如果双击控件,代码编辑窗口会出现默认的Click事件窗口,对于这个例子,双击命令按钮Command1,代码编辑窗口中显示出Command1_Click事件窗口。可以在这个窗口中输入程序代码。用同样的方法,也可以输入Command2的事件驱动程序代码。

(6)运行程序。

运行VB程序有3种方法:

? 单击工具栏上的“启动”按钮;

? 按F5功能键;

? 从菜单栏的“运行”菜单中选择“启动”命令,这时系统对程序解释执行。若从菜单栏的“运行”菜单中选择“全编译执行”命令,程序编译执行。

程序运行后,屏幕出现用户界面,单击“开始”按钮,执行Command1_Click事件驱动程序。执行到“r = InputBox(\请输入圆半径:\时,屏幕出现如图14-1-5所示的对话框。输入数据(如:3)后单击“确定”按钮,程序继续执行,输出结果如图14-1-6所示。单击“结束”按钮,结束程序的执行。

图14-1-5 图14-1-6

如果程序出现编译或运行错误,系统都将给出错误提示信息。此时,应分析产生错误的原因,找出出错的位置,并使用编辑功能键对程序进行修改。修改完程序后,按F5功能键,重新执行程序。

(7)保存程序。

保存程序有两种方法:

? 选择菜单栏上“文件”菜单中的“保存工程”命令执行;

? 单击工具栏中的“保存”按钮。

不管采用哪一种保存程序的方法,对于新程序,系统都会要求用户给定存放的路径和文件名,并分别保存窗体文件和工程文件。

(8)退出VB6.0。

退出的方法有三种:

? 单击主窗口右上角的“关闭”按钮;

? 选择菜单栏上的“文件”菜单中的“退出”命令执行; ? 按Alt+Q组合键。

2. 使用Visual Basic 6.0的联机帮助

(1)使用“MSDN Library在线帮助”。

在运行VB6.0时,使用“MSDN Library在线帮助”是寻求帮助的常用方法。操作步骤为:

? 启动VB6.0,选择菜单栏上“帮助”菜单的“内容”命令,系统打开“MSDN Library Visual Studio 6.0”对话框。

? 在“活动子集”的下拉框中选择“*Visual Basic文挡”,然后单击“目录”选项。 ? 单击“MSDN Library Visual Studio6.0”目录前面的“+”号,展开“MSDN Library Visual Studio6.0”目录。

? 单击“Visual Basic文档”目录前面的“+”号,展开“使用Viisual Basic”目录。

? 单击“程序员指南”目录前面的“+”号,展开“程序员指南”。

因为MSDN内容太多,占用硬盘空间,很多机房不图14-1-7

装MSDN,所以,上机时可能看不到。启用帮助时,系统弹出一对话框,如图14-1-7

(2)使用“上下文相关帮助”。

使用“上下文相关帮助”,可以不必使用“帮助”菜单就能获得“工具箱”中的控件、“属性”窗口中的属性、应用程序中的关键字等内容的帮助。操作方法是把光标移到(或选取)希望获得帮助的位置,然后按F1功能键,VB会自动弹出相关主题的帮助。

获得“工具箱”中控件帮助的操作步骤为:

? 把光标移到“工具箱”中需要获得帮助的控件处,并单击; ? 按F1功能键。

获得“属性”窗口中属性帮助的操作步骤为:

? 把光标移到“属性”窗口中需要获得帮助的属性处,并单击之; ? 按F1功能键。

获得应用程序中关键字帮助的操作步骤为:

? 把光标移到应用程序中需要获得帮助的关键字处; ? 按F1功能键。

(3)“帮助”主题中代码示例的运行。

VB6.0帮助系统有很多帮助主题,在这些主题中包括一些可以直接运行的程序代码示例。我们可以通过Windows的剪贴板将这些程序代码复制到VB的代码窗口中,然后单击工具栏上的“启动”按钮运行这些程序代码。

例如,在VB集成开发环境把光标移到属性窗口的FillColor属性处,并单击之,然后按F1功能键。

在出现的窗口中单击“示例”,用鼠标(或键盘)选取“示例”中的程序代码。选择菜单栏上“编辑”菜单的“复制”命令(或用Ctrl+V)把代码复制到Windows 的剪贴板上,然后打开VB的代码编辑窗口,单击工具栏上的“粘贴”按钮(或用Ctrl+V)把选择的程序代码复制到代码窗口,这时就可以运行程序了。

如果代码示例涉及除窗体以外的控件,则在进入VB集成开发环境之后应先进行用户界面设计,即在窗体添加相关控件后,才能正确运行程序。

三、实验小结

实验2 Visual Basic语言基础

一、实验目的

1. 掌握Visual Basic 6.0数据类型的概念。 2. 掌握常量的概念、定义方法和作用域。 3. 掌握变量的概念和定义方法,熟悉可变类型变量和静态变量的使用,掌握自动变量与静态变量的区别。

4. 掌握各种运算符的功能、表达式的构成、表达式中运算符的运算顺序和如何求表达式的值。

5. 掌握常用标准函数的一般形式、功能和用法。 6. 进一步熟悉Visual Basic 6.0集成开发环境。

二、实验内容

1. 利用下列式子测试各种运算符的功能 1) 20\\4.5 2) 55 mod 2 3) 6^3

4) 3 ^ (-1/2)

5) “How” & “are you” 6) not 3>2 7) 3<5 and 6>3 8) true and false 9) 7>4 or 3<1 10) 9<10 or true

【要求】先手工求出题中各式的值,然后在立即窗口中计算和输出题中各式的值。在立即窗口中计算和输出题中各式的值的操作步骤为:

1) 启动VB6.0,进入集成开发环境,屏幕显示“新

建工程”对话框。

2) 单击“打开”按钮,进入设计模式,选择菜单

栏上“视图”菜单中的“立即窗口”命令执行。 3) 在立即窗口中使用print方法计算和输出题中

各式的值,如图14-2-1所示。(print 可以用?代替) 图 14-2-1 2. 利用下列函数测试常用标准函数的功能 1) int(-354.5324) 2) fix(354.5324) 3) val(“34.56”) 4) abs(-123) 5) sgn(-200) 6) sqr(sqr(81))

7) left(“how are you”,3) 8) mid(“how are you”,8,5)

9) instr(1, “how are you”, “are”)

10) string(5, “@”) 11) int((200*Rnd)+1)

【要求】先手工求出题中各函数的值,然后在立即窗口中使用print方法进行验证。

3. 利用下列表达式测试表达式中运算符的运算顺序和求表达式的值 1) (5+4)\\2

2) 21\\4*2.0^2/1.3

3) 27\\3 mod 3.2*int(2.5) 4) “abc”+”234”

5) “xyz” & “123” & ”xyz” 6) 123.25+”0.75”=124 7) “china”>=”canada” 8) “xyz”<=”xyz”&”123” 9) 5*4>4 and 5 =5

10) false or not 7-3<=4

【要求】先手工求出题中表达式的值,然后在立即窗口中验证。 4. 上机实验常量和变量的定义方法以及常量的作用域

【参考步骤】

1) 单击菜单栏上的“文件”菜单中的“新建工程”命令,系统显示一个“新建工程”

对话框,单击“确定”按钮,系统进入设计模式,系统提供一个名为Form1的窗体。

2) 界面设计。仿照实验一介绍的方法在这个窗体上设置两个命令按钮

Command1和Command2。 3) 属性设置。设置窗体和命令按钮的Caption:将窗体的Caption属性设置为“计

算圆的周长和面积”,将Command1的Caption属性设置为“计算圆周长”,将Command2的Caption属性设置为“计算圆面积”。 用户界面如图14-2-2所示。 4) 输入程序代码。

Option Explicit Const pi=3.14159

Private Sub Command1_Click() Dim r1!

r1=InputBox(\请输入半径\

图14-2-2

Print \半径=\周长=\End Sub

设置要求变量声明语句。在“工具”菜单中选择“选项”,然后选择“编辑器”选项卡,并单击“要求变量说明”。此后,所有新建模块自动加入“option explicit”语句。

打开代码编辑窗口,输入语句“const pi=3.14159”。

从对象列表框选择命令按钮Command1,从事件列表框选择Click事件。此时,出现事件驱动程序窗口,这时可以在事件驱动程序窗口中输入代码。

以相同的方法输入Command2_Click的事件驱动程序。 Private Sub Command2_Click()

Dim r2!

r2=InputBox(\请输入半径\

Print \半径=\面积=\End Sub

5) 运行程序。

【思考】若删除窗体文件事件驱动程序前面的语句“Const pi=3.14159”,而把该语句放在其中一个事件驱动程序内部的Dim语句的前面。再次运行程序看看出现什么情况,并分析为什么会出现这种情况,从而理解常量作用域的概念。

5. 上机实验自动变量与静态变量的区别

【参考步骤】

1) 建立新工程,如上题。

2) 界面设计。在窗体上设计两个命令按钮Command1和Command2。 3) 属性设置:

? 把窗体Form1的caption属性的值设置为“自动变量与静态变量的区别”。 ? 把命令按钮Command1的caption属性的值设置为“自动变量”。 ? 把命令按钮Command2的caption属性的值设置为“静态变量”。 4) 输入程序代码。

Private Sub Command1_Click() Dim x As Integer x = x + 1 Print x; \End Sub

Private Sub Command2_Click() Static y As Integer If y = 0 Then Print y = y + 1 Print y; \End Sub

5) 运行程序后,单击5次标题为“自动变量”的按钮,再单击5次标题为“静态

变量”的按钮,观察窗体输出结果。

6) 写出并分析输出结果,找出自动变量与静态变量的区别。

三、实验小结

实验3 顺序结构程序设计

一、实验目的

1. 2. 3. 4.

掌握顺序结构程序的概念。

掌握赋值语句的一般格式、功能和使用。 掌握使用InputBox函数、MsgBox函数、文本框和标签输入输出数据的方法。 掌握Print方法、Tab函数、Spc函数和Format函数的一般形式、功能和使用。

5. 掌握在属性窗口中设置属性值的方法。 6. 掌握打开旧文件和编辑修改程序的方法。

二、实验内容

1. 利用下列程序测试Print方法和Tab函数及Spc函数的功能

Private Sub Form_Click() Dim x X=256.577 Print \ Print x

Print Tab (15); -500 ; Tab (25) ; 652 ; Tab(35); -955 Print Spc(15); -500 ; Spc(25) ; 652 ; Spc(35); -955 End Sub

【操作提示】在“代码窗口”的“对象”列表框选择窗体对象“Form”,在“代码窗口”的“事件” 列表框中选择“Click”,然后在“Form_Click”事件驱动程序框架中填写其他程序代码。 【要求】先阅读程序并写出运行结果,然后再通过计算机运行程序得出运行结果,并指出tab函数和spc函数的区别。

2. 利用下列程序测试Format函数的功能

Private Sub Form_Click() Dim x! x=36.67

Print Format(x , \ Print Format(x , \ Print Format(x , \ Print Format(x , \ Print Format(x , \ Print Format(x , \ Print Format(x , \ Print Format(x , \End Sub

【要求】先阅读程序并写出运行结果,然后再通过计算机运行程序得出运行结果,并指出每一个Format函数所实现的功能。

3. 设计一程序:使用InputBox函数输入某品牌电脑的单价和购买的数量,计算并输出需付款金额

【操作提示】定义两个变量用来接受“单价”和“数量”。

【要求】描述界面的设计,指出控件属性的设置,编写出程序代码,正确运行程序。

【思考】如果通过文本框输入某品牌电脑的单价和购买的数量,程序又该如何实现。

4. Rnd函数产生一个(0,1)间的单精度随机数,用此函数产生一个两位随机整数后,反向输出

5. 利用下列程序测试MsgBox函数的功能

Private Sub Form_Click()

Dim msg,style,title,response,mystring Msg= \要继续吗?\ Style=vbYesno+vbcritical Title= \提示信息\

Response=MsgBox(msg,style,title) Print response

If response=vbyes then Mystring=”yes” Else Mystring=\ Endif

Print Mystring End Sub 【要求】

(1)先阅读程序,再运行程序,分析运行过程,掌握MsgBox函数的使用方法。 (2)修改MsgBox函数中的参数,然后再运行程序,观察修改后程序运行时的变化。 三、实验小结

实验4 选择结构程序设计

一、实验目的

1. 2. 3. 4. 掌握选择结构程序的概念。

掌握单行结构条件语句的一般格式、功能和使用。 掌握块结构条件语句的一般格式、功能和使用。 掌握情况语句的一般格式、功能和使用。

二、实验内容

1. 输入一个字符,判断该字符是字母字符、数字字符还是其他字符,并作相应显示。

【操作提示】可以通过该字符的ASCII码来判断字符的类型。

【要求】描述界面的设计,指出控件属性的设置,编写出程序代码,正确运行程序。

2. 对一批货物征收税金,按货物的价格X征收不同的税金Y,根据如下公式编写一程序读入其价格,计算并输出税金。

5%X X>=10000 3%X 5000<=X<10000 2%X 1000<=X<5000 0 X<1000

Y=

【要求】描述界面的设计,指出控件属性的设置,编写出程序代码,正确运行程序。

3. 输入两个数值和一个运算符(+ - * / ),输出运算结果。

【操作提示】可定义三个变量分别用来存放两个数值和一个运算符,通过判断运算符的类型从而实现运算。

【要求】描述界面的设计,指出控件属性的设置,编写出程序代码,正确运行程序。 【思考】在执行程序时,若输入的运算符不是题目中指定的运算符,则要重新输入,程序又应该如何实现? 三、实验小结

实验5 循环结构程序设计

一、实验目的

1. 2. 3. 4. 5.

掌握循环结构程序的概念。

掌握While…Wend语句的一般格式、功能和使用。 掌握Do…Loop语句的一般格式、功能和使用。 掌握For…Next语句的一般格式、功能和使用。 掌握多重循环的概念、执行过程和使用。

二、实验内容

1. 计算1×2×3×……×m的值,其中m的值由用户输入。 【算法提示】

? 设置计数变量n和累积变量t,它们的初值都置为1。

? 设计一个循环过程。在循环体中,用赋值语句“t=t*n”将n的值累乘,赋值

语句“n=n+1”使n每循环一次都增加1。 ? 当n的值大于m时,循环结束。 ? 输出t的值。

【要求】描述界面的设计,指出控件属性的设置,根据算法提示编写出程序代码,正确运行程序。

【思考】

? 若m的值很大,对程序有什么影响,应该怎样处理? ? 若公式改为1+2+3+……+m,程序又应该如何修改?

2. 使用公式e=1 + 1/ 1! + 1/ 2! + 1/ 3! + …求e的近似值,要求计算到最后一项小于10-8为止。 【算法提示】

? 设置计数变量n,累积变量t,累和变量e,它们的初值都置为1。

? 设计一个循环过程。在循环体中,用赋值语句“t=t*n”将n的值累乘,赋值

语句“e=e+1/t”使1/t的值累加,赋值语句“n=n+1”使n每循环一次都增加1。 ? 当1/t的值小于10-8时,循环结束。 ? 循环结束后,输出e的值。

【要求】描述界面的设计,指出控件属性的设置,根据算法提示编写出程序代码(使用DoWhile …Loop语句 和Dountil …Loop语句两种方法分别实现),正确运行程序。

【思考】比较DoWhile …Loop 语句和Dountil …Loop语句的区别。

3. 在100~200之间的数中找出同时满足除3余2、除5余3和除7余2的所有整数。

【算法提示】

? 设置一个循环,使控制变量n的值从100~200变化。 ? 使用VB语言正确表示n所要满足的条件“除3余2、除5余3和除7余2”,

若n满足了这个条件则输出n的值。

【要求】描述界面的设计,指出控件属性的设置,根据算法提示编写出程序代码,正确运行程序。

三、实验小结

实验6 数组

一、实验目的

1. 掌握一维数组、二维数组的概念。 2. 熟悉一维数组、二维数组的说明方法。 3. 掌握数组元素的引用、赋值。

4. 掌握一维数组、二维数组的输入、输出方法。

5. 初步掌握使用单重或二重循环结构控制数组元素的下标,按一定规律变化来处理一 维数组元素和二维数组元素的程序设计方法。 6. 初步掌握可调数组和控件数组的使用。

二、实验内容

1. 使用随机函数产生10个1~100之间的随机整数存放在一维数组a中,并把该数组元素显示在一个文本框里。然后在数组a中的指定位置插入一个指定值,并将插入值之后的数组a的所有元素显示在另一文本框中。

【参考界面】如图14-6-1所示。

【算法分析】假设数组a的下界为1,指定插入

图14-6-1

数组元素值为num、插入位置为p,则按题意要把数组a中的元素从a(p)起到最后一个元素都向后移动一个位置,而原a(1),a(2),…a(p-1)的位置不变,num作为a(p)的值。把数组a中的元素从

a(p)起到最后一个元素都向后移动一个位置,需要从最后元素开始逐个往前移动一个位置。要完成这样的工作需使用单重循环结构。

【要求】描述界面的设计,指出控件属性的设置,根据算法分析编写程序代码,正确运行程序。

【思考】在程序运行之后,如果要求连续按“插入”按钮,在数组中插入多个数组元素,程序应如何修改?(提示:每次插入一个数组元素都会使数组a的元素总个数增加1,即数组a的元素总个数预先不能确定,所以在程序中需要用可调数组),参考代码如下:

Dim a() As Integer, n As Integer Private Sub Command1_Click() Text1.Text = \

n = Val(InputBox(\输入要产生几个数\ ReDim a(n) Randomize For i = 1 To n

a(i) = Int(Rnd * 100) + 1

Text1.Text = Text1.Text & a(i) & \ Next i End Sub

Private Sub Command2_Click() Text4.Text = \

Dim num As Integer, p As Integer

num = Val(Text2.Text): p = Val(Text3.Text) ReDim Preserve a(n + 1) For i = n + 1 To p + 1 Step -1 a(i) = a(i - 1) Next i a(p) = num For i = 1 To n + 1

Text4.Text = Text4.Text & a(i) & \ Next i End Sub

2. 使用随机函数产生0~9之间的随机整数形成一个5阶矩阵的元素,并把该矩阵存放到一个二维数组a并在一个文本框中显示出来。求出该矩阵的上三角元素之和、下三角元素(不包括对角线)之和、主对角线元素之和、次对角线元素之和以及靠边元素之和。

【参考界面】如图14-6-2。

【提示】回车符的ASCII码为13,换行符的ASCII码为10,Text1的Multiline设置为True。

参考代码如下: Option Base 1

Dim a(5, 5) As Integer

Private Sub Command1_Click()

图14-6-2 Dim ssj As Integer, xsj As Integer

Dim zdj As Integer, cdj As Integer Dim kb As Integer Randomize Text1.Text = \ For i = 1 To 5 For j = 1 To 5

a(i, j) = 1 + Int(8 * Rnd)

Text1.Text = Text1.Text & a(i, j) & \

If j = 5 Then Text1.Text = Text1.Text & Chr(13) & Chr(10) Next j Next i

For i = 1 To 4 For j = i + 1 To 5 ssj = ssj + a(i, j) Next j Next i

Text2.Text = ssj For i = 2 To 5 For j = 1 To i - 1 xsj = xsj + a(i, j) Next j Next i

Text3.Text = xsj For i = 1 To 5 zdj = zdj + a(i, i) cdj = cdj + a(i, 6 - i)

kb = kb + a(1, i) '累加第1行 kb = kb + a(5, i) '累加第5行 kb = kb + a(i, 1) '累加第1列 kb = kb + a(i, 5) '累加第5列 Next i

Text4.Text = zdj: Text5.Text = cdj

kb = kb - a(1, 1) - a(5, 5) - a(1, 5) - a(5, 1) '减去重复累加的四个角 Text6.Text = kb End Sub

Private Sub Command2_Click() End

End Sub 【思考】在随机函数产生的5阶二维数组a中,取出矩阵中不靠边元素生成一个4阶矩阵存放到二维数组b中,并把这个4阶矩阵在另一个文本框中显示,程序应该如何编写?

3. 创建一个控件数组,它包含6个单选按钮。程序运行时,当按下某个单选按钮时,给文本框中的文字选择某一种颜色。

【参考界面】如图14-6-3所示。 【操作提示】在窗体上建立包含6个单选按钮的控件数组option的操作方法为

? 建立单选按钮Option1,将其name值设为option。

? 建立单选按钮Option2,将其name值设为option。此时,屏幕显示一个对话框,单击“是(Y)”按钮,系统将单选按钮Option2

图14-6-3

添加到控件数组option中。

? 用同样办法,分别建立单选按钮Option3、Option4、Option5、Option6,并将其name值都设为option,系统也自动把它们添加到控件数组option中。

【要求】描述界面的设计,指出控件属性的设置,编写程序代码,正确运行程序。

三、实验小结

实验7 过程

一、实验目的

1. 熟悉Visual Basic应用程序的构成。

2. 掌握子过程和函数过程的定义及其调用。

3. 掌握参数传送的两种方式:传值调用和传地址调用。

4. 掌握子过程和函数过程的使用。 5. 掌握变量和过程作用域的概念。 6. 了解递归的概念和使用方法。

二、实验内容

1. 利用下列程序测试参数传送的两种方式:传值调用和传地址调用,从而理解传值参数和传地址参数的区别。

Private Sub p (Byval x% , Byval y%) x=x+1 : y=y+1 print x , y End Sub

Private Sub Command1_Click( ) Dim x% ,y% x=1 : y=2

call p(x , y) : print x , y call p(x , x) : print x , y call p(y , y) : print x , y call p(y , x) : print x , y End Sub

【要求】先阅读给出的程序,写出执行结果。然后按照如下步骤进行验证: ? 建立新工程。

? 界面设计:在窗体上设计一个命令按钮Command1。 ? 输入以上程序代码。 ? 运行程序。

2. 输入x、y、z的值,求s=f (x, y, z)的值。其中

f (x , y , z)=

sinxsinysinz??

siny?sinzsinz?sinxsinx?siny现已有一个子程序(如下),要实现上述功能,应该怎样调用这个子程序? Private Sub p (Byval a! , Byval b! , byval c! , f! ) f = sin( a ) / ( sin( b )*sin( c ) ) End Sub

【要求】描述界面的设计,指出控件属性的设置,根据已有的子程序编写程序代码,正确运行程序。

【思考】若将子程序p改用函数来编写程序,程序应如何编写? 3. 利用下列程序理解变量作用域的概念。

Dim a as integer , b as integer Private Sub Command1_Click( ) a=3 :b=5 print

print tab(12) ; \调用p1前: \ call p1

print tab(12) ; \调用p1后: \ print

print tab(12) ; \调用p2前: \ call p2

print tab(12) ; \调用p2后: \End Sub

Private Sub p1( ) a=a+1 : b=b+1

print tab(12) ; \调用p1: \End Sub

Private Sub p2( )

Dim a as integer , b as integer a=a+1 : b=b+1

print tab(12) ; \调用p2: \End Sub

Private Sub Command2_Click( ) End End Sub

【要求】首先阅读给出的程序,写出执行结果。然后仿照第1题介绍的步骤上机调试程序进行验证。

【思考】如果把程序中的第一行的“Dim”改为“Private”或“Public”,程序的执行结果如何?为什么?

4. 在不同的窗体上分别计算:y=(5!+7!)/ 8! 和s=1!+2!+…+10!的值。要求在标准模块中定义求阶乘的函数过程。

【参考步骤】

1) 调试程序的操作步骤: 2) 建立新工程。

3) 界面设计、属性设置和输入程序代码:

? 建立窗体模块。进入设计模式后,系统提供一个名为Form1的窗体。单击工具栏上的“添加窗体”按钮,屏幕上弹出“添加窗体”对话框,单击“打开”按钮,系统又提供一个名为Form2的窗体,在“工程资源管理器”窗口中的“模块”下出现一个Form2窗体模块图标。可以通过单击窗体图标来切换窗体,并在窗体上进行界面设计、属性设置和输入相应的程序代码。

? 建立标准模块。选择菜单栏上“工程”菜单的“添加模块”命令,这时系统弹出一个“添加模块”对话框。单击“打开”按钮,系统在“工程资源管理器”窗口中的“模块”下出现一个module1图标,并打开代码编辑器窗口,这时可以在其中输入标准模块的程序代码。

4) 运行程序

程序运行之后,屏幕上显示窗体Form1。单击命令按钮Command1,系统执行Form1模块的Command1_Click事件驱动程序,计算y的值并输出。单击窗体Form1右上角的“关闭”按钮,系统关闭窗体Form1,并在屏幕上显示窗体Form2。单击命令按钮Command1,系统执行Form2模块的Command1_Click事件驱动程序,计算s的值并输出。

【思考】如果把求阶乘的函数过程放在窗体模块Form1上定义,程序应该如何修改?通过修改程序理解过程作用域的概念。

已知求s(x , n)=x - x2+x3 - x4+ … +(-1)n-1xn (n>0)的递归公式为:

x

s(x , n)=

x( 1- s( x , n-1 ) )

n>1

n=1

使用递归过程编写程序求s(x , n)的值。

【要求】描述界面的设计,指出控件属性的设置,编写程序代码,正确运行程序。

三、实验小结

实验8 窗体

一、实验目的

1. 2. 3. 4.

初步掌握多窗体程序设计方法。

掌握键盘事件KeyPress、KeyDown和KeyUp的基本用法。

掌握鼠标事件MouseDown、MouseUp和MouseMove的基本用法。 掌握简单的多文档界面(MDI)的应用程序设计方法。

二、实验内容

1. 编程实现:利用窗体一输入密码,密码最多输三次,密码正确进入第二个窗体,密码不正确则弹出“对不起,您是非法用户!”提示框后退出程序。

【要求】设计界面,指出控件属性的设置,正确编写程序代码,运行程序。 【参考界面】如图14-8-1和14-8-2所示。

图14-8-1

图14-8-2

2. 编写一个实现,当鼠标在窗体上移动,显示鼠标的当前坐标,单击鼠标及按Shift、Ctrl、Alt键,显示Shift和Button参数的值。

3. 建立一个包含两个子窗体的MDI窗体,在子窗体上分别设置命令按钮,实现两子窗体显示和隐藏的切换。

【要求】自己设计界面,指出控件属性的设置,正确编写程序代码,运行程序。

三、实验小结

实验9 VB中的常用控件

一、实验目的

1. 掌握单选按钮、复选框、框架、滚动条、列表框、组合框和时钟控件的常用

属性、基本方法和主要事件。 2. 掌握菜单编辑器的使用方法。 3. 熟悉菜单事件的编程方法。

二、实验内容

1. 使用单选按钮实现时间和日期的单选。利用组合框按年月日的次序选择日期的格式,

【要求】设计界面,指出控件属性的设置,正确编写程序代码,运行程序。 【参考界面】如图14-9-1和14-9-2所示。

图14-9-1 启动后的运行界面 图14-9-2 当选择“显示日期”单选钮时的运行界面 2. 利用单选按钮和文本框编制一个进制转换的应用程序,界面如图14-9-3。 【要求】设计界面,指出控件属性的设置,正确编写程序代码,运行程序。 【参考界面】如图14-9-3所示。

图14-9-3

【参考代码】

Private Sub Option1_Click() Dim m As Integer, e As String m = Val(Text1.Text) Do

r = m Mod 2 e = r & e m = m \\ 2

Loop Until m = 0 Text2.Text = e

Label2.Caption = \二进制\End Sub

Private Sub Option2_Click() Text2.Text = Oct(Text1.Text) Label2.Caption = \八进制\End Sub

Private Sub Option3_Click() Text2.Text = Hex(Text1.Text) Label2.Caption = \十六进制\End Sub

Private Sub Text1_Change() If Option1.Value = True Then Option1_Click

ElseIf Option2.Value = True Then

Call Option2_Click

ElseIf Option3.Value = True Then Option3_Click End If End Sub

3. 在窗体上设计一个弹出式菜单,用来改变文本框中字体的属性。 【参考步骤】 1) 建立新工程。

2) 界面设计和属性设置。

3) 选择菜单栏上“工具”菜单的“菜单编辑器”命令,使用菜单编辑器设计菜单。

设计后的界面如下图14-9-4所示: 4) 编写程序代码。 【要求】描述界面的设计,指出控件属性的设置,编写程序代码,正确运行程序。 【参考界面】如图14-9-5所示。

图14-9-4 图14-9-5

4. 设计一个运行界面如图14-9-6所示的字幕滚动程序。要求用时钟控件和滚动条调节和控制字幕滚动速度,从右向左连续滚动。

【参考代码】

字幕滚动通常有两种方法。第一种方法是先把字存放在标签上,然后连续修改标签的left属性值使图象从右向左移动。第二种方法是把字存放在标签上,然后使用Move方法使标签移动。

若使用第一种方法,则程序可以编写如下:

Private Sub Form_load() HScroll1.Max = 1000 HScroll1.Min = 100 HScroll1.SmallChange = 10 HScroll1.LargeChange = 10 Timer1.Interval = HScroll1.Value Label1.Left = Form1.Width - Label1.Width End Sub

图14-9-6

Private Sub timer1_timer() Label1.Left = Label1.Left - 10 If Label1.Left < -Label1.Left Then Label1.Left = Form1.Width End If End Sub

Private Sub Hscroll1_change()

Timer1.Interval = 1001 - HScroll1.Value End Sub

Private Sub Hscroll1_scroll()

Timer1.Interval = 1001 - HScroll1.Value End Sub

【要求】描述界面的设计,指出控件属性的设置,根据上述程序代码编写程序,分析每条执行语句的功能并正确运行程序。

【思考】若使用前面介绍的第二种方法来编写程序,程序应如何修改? 三、实验小结

实验10 文件系统

一、实验目的

1. 2. 3. 4.

掌握文件系统控件(文件列表框、目录列表框、驱动器列表框)的应用。 了解顺序文件、随机文件、二进制文件的概念。 掌握顺序文件的打开、关闭和读写的基本操作。 了解随机文件、二进制文件的基本操作。

二、实验内容

1. 由文件列表框、目录列表框、驱动器列表框编制一个用于删除选定文件的应用程序,界面如图14-10-1。

【要求】设计界面,指出控件属性的设置,正确编写程序代码,运行程序。

2. 制作一个简单的图片浏览器。 【要求】

(1)窗体的标题为“图片浏览器”,固定边框。 (2)窗体上有驱动器列表框(Drive1)、目录列表框(Dir1)和文件列表框(File1)三个控件,要求三个控件能够联动。

图14-10-1

(3)窗体的下半部有一个图像框Image1,将它的Stretch属性设置为True。 (4)设置文件列表框只显示*.bmp和*.jpg类型的图片文件。 (5)单击文件列表框上的图片文件名时,图片显示在图像框中。 【参考界面】如图14-10-2所示。

3. 输入某个单位若干个职工的编号、姓名、性别、年龄、是否党员和基本工资等档案数据,并存放到文本文件“C:\\da.txt”中。

【参考界面】如图14-10-3所示。

图14-10-2 图14-10-3

【提示】程序运行时,屏幕出现如上图所示的用户界面,焦点落在文本框text上。此时,在各个文本框上输入数据,并在单选按钮中做出选择,然后单击“写入数据”按钮,执行相应事件驱动程序,把刚输入的数据组成一个记录写到文件“C:\\da.txt”中去。这样重复做下去,直到输入完所有职工档案数据为止。最后,单击“退出”按钮,执行相应事件驱动程序,关闭文件和结束程序的执行。

【要求】描述界面的设计,指出控件属性的设置,编写程序代码,正确运行程序。

4. 读出由第3题建立的文件“C:\\da.txt”中的数据,分别统计出男职工、女职工和党员人数。

【参考界面】如图14-10-4所示。

图14-10-4

【要求】描述界面的设计,指出控件属性的设置,编写程序代码,正确运行程序。 三、实验小结

实验11 Visual Basic图形操作

一、实验目的

1. 2. 3. 4. 5.

熟悉Visual Basic的坐标系统。

掌握Line控件和Shape控件的使用。

掌握使用各种画图方法绘制简单图形的方法。 掌握图形中颜色的设置。

初步掌握动画程序设计的方法。

二、实验内容

设计一个如图14-11-1所示的菜单,要求所有图形用一个形状(Shape1)来实现,填空颜色用“颜色”对话框来实现。

图14-11

三、实验小结

实验12 建立和访问数据库

一、实验目的

1. 熟悉数据库的基本概念。

2. 掌握VB数据管理器的使用方法。 3. 掌握常用数据控件的基本用法。

二、实验内容

1. 设计一个简易的通讯薄。通过数据库操作,可输入、查询、统计、修改、删除通讯资料等。

【要求】设计界面,指出控件属性的设置,正确编写程序代码,运行程序。 2. 设计一个窗体,通过DBList1控件显示Student表内的学号字段,当单击DBList1中的某学号时,在网格内显示表Class中的指定学好的记录。

【要求】设计界面,指出控件属性的设置,正确编写程序代码,运行程序。

本文来源:https://www.bwwdw.com/article/nx6p.html

Top