1、Visua lBasic实验实训指导书Visual Basic实验实训指导书前 言Visual Basic 程序设计是一门实践性很强的课程,在教学过程中应十分重视实践环节,加强动手能力的培养。初学程序设计的学生往往在老师讲课时能听得懂,自己动手时却不知如何下手,为此我们特编写了此Visual Basic 程序设计实验指导书,与课程的理论教材配套使用。全书分为两大部分:实验和实训。其中实验包括了7个实验项目,主要内容包括Visual Basic语言基础(数据类型、运算符、表达式的使用),三种程序设计结构,数组的应用,基本控件的属性、方法与事件及其使用,文件系统控件的使用,菜单编辑器的使用及菜单的
2、设计和多窗体应用的程序设计。每个实验项目有实验目的、实验内容和问题讨论三部分组成。实验的参考程序多样,界面丰富多彩,具有开拓思维的启发作用。实训包含五个小程序,分别是调色板、计算器、记事本、看图器和时钟。通过实训主要是培养学生基本的编程思路和掌握简单的算法,了解Visual Basic开发小型应用程序的整个过程。本书在取材与编写上立足与教材同步,但又不失自己独立性与完整性,可单独作为Visual Basic 程序设计的上机实例使用。书中所有参考程序都可以在Visual Basic 6.0企业版下正常运行。 目 录实验一:数据类型、运算符、表达式的使用 2实验一:数据类型、运算符、表达式的使用
3、3实验一:数据类型、运算符、表达式的使用 4实验二:三种程序设计结构 5实验三:数组的应用 7实验四:基本控件的属性、方法与事件及其应用 11实验五:文件系统控件的使用 16实验六:菜单编辑器的使用及菜单的设计 18实验七:多窗体应用程序的设计 22实 训 24课程学时分配 34实验说明 35实验一:数据类型、运算符、表达式的使用实验目的1掌握VB数据类型的基本概念。2掌握变量、常量的定义方法、各种运算符和表达式的使用。实验内容 1先手工计算下列表达式的值,然后上机验证(在立即窗口中完成)。(1)8 Mod 3*2/5(2)7/3*3*(43)Mod 5(3)”abc”+”123”&”456”
4、(4)297.5+”0.5”(5)48 and 56(6)flase or not(3+4=7)(7)(false and true) or not (true or false)(8)1/3*312当(1)a=27,b=4(2)a=27,b=-4(3)a=-27,b=4(4)a=-27,b=-4,分别求a/b,ab,a Mod b的值,并总结运算符/、Mod的区别3设a,b,c为布尔型变量,且a=true,b=false,c=true,求下列表达式的值(先手工计算,后上机验证) (1)a And Not b Imp c (2)Not a Equ Not b(3)not a and b(4)(
5、not b Or c) and (b Or c)(5)not (a Or b) and (b and c)(6)a Xor b Or c问题讨论1简述各种运算符、表达式综合使用的运算顺序。2区别运算符/、Mod。3如何在立即窗口中验证表达式的值。实验二:三种程序设计结构实验目的1掌握Let语句、Print方法、InputBox函数、MsgBox函数及过程、注释语句的用法。2熟悉选择结构程序设计,灵活使用有关选择结构语句(行If语句、块If语句、情况语句、选择结构的嵌套)解决实际问题。3熟悉循环结构程序设计,灵活使用各种循环语句解决实际问题。实验内容1顺序结构编制程序:自由落体运动的位移公式为:
6、S=1/2*g*t2+V0t。其中V0为初始速度;g为重力加速度;t为经历的时间;求位移量S。要求:将g定义成符号常量,V0和t的值用InputBox函数输入。代码如下:Private Sub Form_click()Dim V0 as single,t as singleConst g = 9.8V0 =Val(InputBox(”请输入初速度”,”输入对话框”)S=1/2*g*t2+V0tPrint “位移为:”; SEnd Sub2选择结构编程序求一元二次方程:a*x2+b*x+c=0的两个根。Private Sub Form_click()Dim a,b,c,det,x1,x2 a=V
7、al(InputBox(“请输入二次项系数”,”输入数据”) b=Val(InputBox(“请输入一次项系数”,”输入数据”) c=Val(InputBox(“请输常数项”,”输入数据”) if a=0 Then Print”二次项系数不能为0” Else det=b*b-4*a*c If det=0 Then x1=(-b+sqr(det)/(2*a) x2=(-b-sqr(det)/(2*a) Print “x1=”;x1 Print “x2=”;x2 ElsePrint“x1=”;str(-b)/(2*a);”+”str(Abs(sqr(-det)/2*a)&”i”Print“x2=”
8、;str(-b)/(2*a);”-”str(Abs(sqr(-det)/2*a)&”i” End If End IfEnd Sub3循环结构编程乘法口诀表:Private Sub Form_click() Dim i as integer,j as integer For i = 1 to 9 For j = 1 to I Print i;”*”;j;”=”;i*j Next NextEnd Sub问题讨论1试分析If Then Else结构和Select Case结构的异同点。2在For Next 循环中,试分析循环初值、终值和步长的关系。 3. Exit Do语句的作用是什么?它可以在哪些
9、循环中使用?4练习(1)设计一个程序显示10个两位整数的随机数。(2)用InputBox$函数输入一个正整数,若输入正确,计算其平方根(3)求百钱买百鸡问题。实验三:数组的应用实验目的 1掌握数组的定义方法。 2正确理解和使用数组元素的下标,掌握数组元素的使用、赋值、输入和输出。 3使用数组解决实际问题。实验内容1静态数组随机产生10个两位整数,找出其最大值、最小值和平均值设计步骤如下:建立应用程序用户界面与设置对象属性。 编写代码。考虑到要在不同的过程中使用数组,所以首先在模块的通用段声明数组:Dim a(1 To 10) As Integer随机整数的生成由窗体的Load事件代码完成:Pr
10、ivate Sub Form_Load() Dim p As String Randomize p = For i = 1 To 10 a(i) = Int(Rnd * 90) + 10 p = p & Str(a(i) & , Next Label1.Caption = LTrim(Left(p, Len(p) 1)End Sub“重置”按钮Command1的Click事件代码:Private Sub Command1_Click() Form_Load Text1.Text = Text2.Text = Text3.Text = End Sub求最大、最小以及平均值由“确定”按钮Comma
11、nd2的Click事件代码完成:Private Sub Command2_Click() Dim n As Integer, m As Integer, s As Single min = 100: max = 10: s = 0 For i = 1 To 10 If a(i) n Then max = a(i) If a(i) 16 Then MsgBox 请不要超过16 Exit Sub End If ReDim a(n, n) For i = 1 To n a(i, 1) = 1: a(i, i) = 1 Next p = Format(1, !) & Chr(13) p = p & F
12、ormat(1, !) & Format(1, !) & For i = 3 To n p = p & Format(a(i, 1), !) For j = 2 To i 1 a(i, j) = a(i 1, j 1) + a(i 1, j) p = p & Format(a(i, j), !) Next p = p & Format(a(i, i), !) & Chr(13) Next MsgBox p, 0, 杨辉三角形 End IfEnd Sub问题讨论1静态数组与动态数组的使用。2常用数组解决的问题有那些?实验四:基本控件的属性、方法与事件及其应用实验目的1. 图片框、图像框、单选钮、
13、复选钮、组合框、列表框的练习和比较。2. 掌握定时器、框架、滚动条的应用。实验内容1设计程序,利用图片框的属性和方法加载、清除图形。如图所示2定时器利用定时器显示当前系统时间,同时用图像框显示三个笑脸。3单选按钮、复选按钮、框架Private Sub Check1_Click()If Check1.Value ThenText1.FontBold = TrueElseText1.FontBold = FalseEnd IfEnd SubPrivate Sub Check2_Click()If Check2.Value ThenText1.FontItalic = TrueElseText1.F
14、ontItalic = FalseEnd IfEnd SubPrivate Sub Check3_Click()If Check3.Value ThenText1.FontUnderline = TrueElseText1.FontUnderline = FalseEnd IfEnd SubPrivate Sub Option1_Click()Text1.FontName = 宋体End SubPrivate Sub Option2_Click()Text1.FontName = 楷体_gb2312End SubPrivate Sub Option3_Click()Text1.FontSize
15、 = 18End SubPrivate Sub Option4_Click()T ext1.FontSize = 36End Sub4列表框、组合框代码:Dim pos(7) As StringPrivate Sub Form_Load()Command1.Font.Size = 12Command1.Caption = 退出With List1 .FontSize = 12 .AddItem 东岳泰山 .AddItem 南岳衡山 .AddItem 中岳嵩山 .AddItem 西岳华山 .AddItem 北岳恒山 .AddItem 五台山山 .AddItem 黄山 .AddItem 峨眉山 .
16、Selected(0) = TrueEnd Withpos(0) = 在山东泰安市境内pos(1) = 在湖南衡山县境内pos(2) = 在河南登封县境内pos(3) = 在陕西华阴县境内pos(4) = 在山西浑源县境内pos(5) = 在山西五台山境内pos(6) = 在安徽南部境内pos(7) = 在四川乐山地区Text1.FontSize = 12Text1 = List1.Text + pos(0)End SubPrivate Sub List1_Click()Dim i As IntegerFor i = 0 To (List1.ListCount - 1)If List1.Sel
17、ected(i) = True Then Text1 = List1.Text + pos(i)End IfNext I End Sub5.计时器、滚动条代码如下:Option ExplicitDim r As Integer, g As Integer, b As IntegerPrivate Sub Command1_Click()Timer1.Enabled = TrueEnd SubPrivate Sub Command2_Click()Timer1.Enabled = FalseEnd SubPrivate Sub Timer1_Timer()Randomize Timerr = I
18、nt(Rnd * 256)g = Int(Rnd * 256)b = Int(Rnd * 256)HScroll1.Value = rLabel4.Caption = rHScroll2.Value = gLabel5.Caption = gHScroll3.Value = bLabel6.Caption = bText1.ForeColor = RGB(r, g, b)End Sub问题讨论1列表框与组合框有什么区别?2单选按钮与复选按钮的区别?3什么是容器控件,它有什么样的特点?4滚动条的 Change事件与Scroll事件有什么不同?实验五:文件系统控件的使用实验目的 1掌握驱动器列表框
19、、目录列表框、文件列表框三个文件系统控件的使用。2掌握三个文件系统控件的组合方法。 3图像框的使用。实验内容制作一个如下图所示的图片查看器:要求:1。驱动器列表框、目录列表框、文件列表框必须配合使用,并且在目录名位置显示路径。2能够通过列表框中文件类型的选择可使在文件列表框中显示该类型的文件。3图片在图像框中显示Private Sub Combo1_Click()File1.Pattern = Combo1.TextFile1.Path = Dir1.PathEnd SubPrivate Sub Dir1_Change()File1.Path = Dir1.PathLabel4.Caption
20、 = Dir1.PathEnd SubPrivate Sub Drive1_Change()Dir1.Path = Drive1.DriveEnd SubPrivate Sub File1_Click()Text1.Text = File1.FileNameImage1.Picture = LoadPicture(File1.Path + + Text1.Text)End SubPrivate Sub Form_Load()Label4.Caption = Dir1.PathCombo1.AddItem (*.jpg)Combo1.AddItem (*.ico)Combo1.Text = *.
21、jpgFile1.Pattern = *.jpgEnd Sub 问题讨论1驱动器列表框、目录列表框、文件列表框三个文件系统控件如何配合使用。2文件列表框Pattern属性的使用。3讨论一下能否用图片框代替图像框。实验六:菜单编辑器的使用及菜单的设计实验目的1熟练掌握窗口菜单的规划、设计和使用方法。2掌握弹出式菜单设计和使用方法。3掌握工具栏设计和应用方法。实验内容 1菜单(1)菜单编辑器的使用(2) 下拉式菜单 利用菜单来控制标题板的内容、字体、字体风格等,如图所示打开菜单编辑器设计菜单。 写菜单项代码。 编写“文本内容”项Txt的Click事件代码:Private Sub Txt_Click
22、()temp = InputBox(请输入标题板的新内容, 输入, Label1.Caption) If temp Then Label1.Caption = temp End IfEnd Sub编写“文本字体”中4个菜单选项的Click事件代码:Private Sub song_Click() Label1.FontName = 宋体End SubPrivate Sub li_Click() Label1.FontName = 隶书End SubPrivate Sub kai_Click() Label1.FontName = 楷体End SubPrivate Sub hei_Click()
23、 Label1.FontName = 黑体End Sub编写“文本风格”中3个菜单选项的Click事件代码:Private Sub bld_Click() bld.Checked = Not bld.Checked Label1.FontBold = bld.CheckedEnd SubPrivate Sub Itl_Click() Itl.Checked = Not Itl.Checked Label1.FontItalic = Itl.CheckedEnd SubPrivate Sub Undrln_Click() Undrln.Checked = Not Undrln.Checked L
24、abel1.FontUnderline = Undrln.CheckedEnd Sub(3) 菜单控件数组(4)菜单项的可用与不可能(5)弹出式菜单 语法为:窗体名. PopupMenu菜单名, flags ,x , y , boldcommand 将上例用弹出式菜单实现,(如图所示)。 只需增加标签和窗体的MouseDown事件代码:Private Sub Label1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)If Button = 2 Then PopupMenu Styl, 6 End
25、 IfEnd SubPrivate Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 2 Then PopupMenu Nam, 6 End IfEnd Sub2工具栏(1) 用手工方式制作工具栏(2) 使用Toolbar控件与ImageList控件 设计如下程序:修改应用程序用户界面 通过“属性页”对话框来设置工具栏控件与图像列表控件的属性 (3) 修改及编写程序代码。 修改窗体的事件代码:Private Sub Form_Resize() With Te
26、xt1 .Top = Toolbar1.Height .Left = 0 .Height = Form1.ScaleHeight - Toolbar1.Height .Width = Form1.ScaleWidth End WithEnd Sub 编写工具栏按钮的事件代码:Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button) n = Button.Index Select Case n Case 2, 3, 4 File_Click (n - 2)具有Office 97 风格的工具栏 Case 6 Text1.FontBold = Button.Value Case 7 Text1.FontItalic = Button.Value Case 8 Text1.FontUnderline = Button.Value End SelectEnd Sub问题讨论1菜单栏、工具栏在创建时应注意哪些问题?2弹出式菜单创建的语法格式。实验七
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1