vb程序设计实验项目书.docx
《vb程序设计实验项目书.docx》由会员分享,可在线阅读,更多相关《vb程序设计实验项目书.docx(44页珍藏版)》请在冰豆网上搜索。
![vb程序设计实验项目书.docx](https://file1.bdocx.com/fileroot1/2023-2/1/67a2a08d-b783-4ecf-a8c1-a40f3a42707c/67a2a08d-b783-4ecf-a8c1-a40f3a42707c1.gif)
vb程序设计实验项目书
VisualBasic程序设计
实
验
指
导
书
严亚周编写
实验一VisualBasic的环境
实验二顺序结构和选择结构
实验三循环结构
实验四过程与函数
实验五控件的应用
实验六菜单与多窗体程序设计
实验七文件操作
实验八图形操作
实验九数据库技术
实验十学生选课系统的设计与实现(#)
实验一VisualBasic的环境
一、实验目的
1、掌握VB的启动和退出方法。
2、熟悉VB的集成开发环境。
3、掌握在窗体上创建控件的方法。
4、掌握简单程序的编辑、保存、运行、编译方法。
二、实验内容
1、启动VB,熟悉VB的集成环境中各窗口的功能,并掌握它们的打开、关闭方式。
2、操作VB6.0的各种工具栏,在对象窗口上添加几种常用的控件并在属性窗口上修改它们的常用属性
3、编写显示“欢迎使用VisualBasic6.0”的窗体程序。
三、实验步骤
1、VB的启动和退出
启动的几种方式:
用开始菜单启动、从“资源管理器”中启动、从“运行”对话框中启动、通过快捷方式启动。
退出的几种方式:
单击VB主窗口标题栏的“关闭”按钮、选作“文件”菜单的“退出”命令、按Alt+F4组合键、按Alt+Q组合键、单击控制菜单,执行关闭命令。
2、VB开发环境中常用窗口的打开和关闭。
打开“资源管理器”窗口的几种方式:
选作“视图”菜单中“工程资源管理器”命令、单击工具栏上的“工程资源管理器”图标按钮、Ctrl+R组合键。
打开“窗体设计器”窗口的几种方式:
在“工程资源管理器”窗口中选择要打开的窗体,然后单击该窗体顶部的“查看对象”按钮、选择“视图菜单”中的“对象窗口”命令、单击工具栏上的“对象窗口”图标按钮、按Shift+F7组合键。
打开“代码窗口”的几种方式:
在“工程资源管理器”窗口中选择窗体或模块,然后单击该窗体顶部的“代码窗口”按钮、选择“视图菜单”中的“对象窗口”命令、单击工具栏上的“对象窗口”图标按钮、用鼠标双击窗体或窗体上的某个控件。
打开“属性窗口”的几种方式:
选择“视图菜单”中的“属性窗口”命令.、单击工具栏上的“属性窗口”图标按钮、按F4功能键。
打开“工具箱”窗口的几种方式:
选择“视图菜单”中的“工具箱”命令、单击工具栏上的“工具箱”图标按钮。
关闭窗口。
所以窗口都可以采用以下三种方式关闭:
单击窗口右上角的关闭按钮“×”、将要关闭的窗体选为当前当前窗口(标题栏为蓝色),然后按Alt+F4组合键。
3、使用联机帮助
4、常用控件的建立
在窗体上建立一个命令按钮、一个标签、一个文本框,一个复选框和一个数据控件。
5、编写显示“欢迎使用VisualBasic6.0”的窗体程序。
(1)新建工程
在桌面上双击MicrosoftVisualBasic6.0快捷方式图标,系统进入VisualBasic6.0集成开发环境,并显示“新建工程”对话框,默认选择是建立“标准EXE”(即标准工程)。
单击“打开”按钮,VisualBasic6.0进入设计模式。
如图1-1所示。
图1-1“新建工程”对话框
单击“文件”菜单,选择“新建工程”菜单项,也可进入设计模式。
(2)设计界面
在系统提供的名为Form1的窗体上进行界面设计。
单击工具箱上的标签(Label)控件,在窗体上添加标签的位置处按下鼠标左键,并拖动,调整虚框的大小,松开鼠标,就将标签控件添加到窗体上。
初始界面如图1-2所示。
图1-2初始界面
(3)设置属性
如表1-1所示。
表1-1属性设置
对象
属性
属性值
Form1
Caption
我的第一个VB程序
Label1
Caption
设置属性后的界面如图1-3所示。
(4)编写程序代码
PrivateSubForm_Click()
Label1.Caption="欢迎使用VisualBasic6.0"
EndSub
(5)运行程序
运行VB程序有三种方法:
①单击工具栏上的“启动”按钮;②从“运行”菜单中选择“启动”菜单项;③按F5键。
例如,单击工具栏上的“启动”按钮运行程序后,单击窗体,程序运行效果如图1-3所示。
(6)保存程序
单击工具栏中的“保存”按钮或单击“文件”菜单中的“保存工程”菜单项,选择合适的保存路径,先保存窗体文件(例如窗体文件名为“实验一.frm”),然后保存工程文件(例如工程文件名为“实验一.vbp”)。
2.将VisualBasic工程编译生成可执行文件
单击“文件”菜单中的“生成实验一.exe”菜单项,就可生成可执行的.exe文件。
退出VisualBasic集成开发环境,双击实验一.exe文件,则实验一.exe文件就可直接运行。
四、课后思考
1、运行VisualBasic6.0需要什么样的最小硬件环境?
2、VisualBasic6.0集成环境中包括哪些主要窗口?
如何打开和关闭?
3、编写程序可能发生哪些错误?
怎样来避免?
4、VisualBasic6.0的工程包括哪几类文件?
5、VisualBasic6.0有哪几种工作模式?
各有何特点?
在哪些情况下可进入中断模式?
实验二顺序结构和选择结构
一、实验目的
1、掌握顺序结构中基本输入输入输出语句及相关的函数过程使用
2、掌握选择结构中选择结构的基本语法并能够熟练应用于相关编程
二、实验内容
1、输入语句、输出语句的使用,其他辅助语句的使用
2、使用命令创建程序文件。
在编辑窗口输入程序,保存并执行程序,分析程序的输入、输出
3、编写一个顺序结构程序,计算一元二次方程的两个根
4、单分支选择结构
5、双分支选择结构
三、实验步骤
1、InputBox函数与MsgBox函数的使用
随机给小学生出10道二位数的加法题,每答对一道题得10分,最后用消息框输出小学生的得分。
第1步:
启动VB,新建一标准工程。
第2步:
编写代码:
PrivateSubForm_Load()
Dimsum%,x%,y%,z%
Fori=1To10
Randomize
x=Int(Rnd*90+10)
y=Int(Rnd*90+10)
z=InputBox(x&"+"&y&"=","第"&i&"题")
Ifx+y=zThensum=sum+10
Next
MsgBox"你最后的得分是:
"&sum,vbOKOnly,"xiaoxueshengchuti"
EndSub
2.求解一元二次方程的根。
第一步:
设计如图的界面
第二步:
编写程序代码:
OptionExplicit
PrivateSubcmdQjfc_Click()
DimaAsSingle,bAsSingle,cAsSingle
DimdAsSingle,x1AsSingle,x2AsSingle
a=Val(txtA)
b=Val(txtB)
c=Val(txtC)
d=b^2-4*a*c
Ifd<0Then
lblJg="方程无实数解!
"
Else
x1=(-b+Sqr(d))/(2*a)
x2=(-b-Sqr(d))/(2*a)
lblJg="X1="&x1&Chr(10)&"X2="&x2
EndIf
EndSub
第三步:
运行程序:
输入系数a、b、c点击按钮“求解方程”得出结果
3.税务部门征收所得税,规定如下:
(1)收入在800元以内,免征;
(2)收入在800~1000元以内,超过200元的部分纳税5%;
(3)收入在1000~2000元以内,超过1000元的部分,纳税8%;
(4)当收入达到2000元或超过时,纳税10%;
编程实现上述操作。
(1)编写程序代码如下:
PrivateSubForm_Click()
r=InputBox(“请输入您的收入”)
r=Val(r)
selectcaser
caseis<=800
tax=0
caseis<=1000
tax=(r-800)*0.05
caseis<=2000
tax=(r-1000)*0.08
caseelse
tax=(r-1000)*0.10
endselect
Print“收入”;r;“应纳税”;tax
EndSub
(2)程序运行
程序运行后,单击窗体,在输入对话框中输入收入数,程序将输出纳税金额。
例如输入1560,运行情况如图所示。
图纳税运行情况
四、课后思考
1、msgbox函数与msgbox过程有什么区别?
2、选择结构中if……else……与select与有什么区别,分别用于什么样的选择
实验三循环结构
一、实验目的
1、掌握For/Next循环语句的用法。
2、掌握Do/Loop语句的用法。
3、掌握循环结构程序设计的方法。
二、实验内容
1、Do…Loop语句
求两个正整数m和n的最大公约数。
求最大公约数最常用的方法是:
辗转相除法。
其设计思路是:
(1)假设m大于n;
(2)用n作除数,去除m,得余数r。
(3)若r≠0,则令m←n,n←r,继续相除得到新的r值,直到r=0为止。
(4)最后的n即为最大公约数。
2、For语句将一维数组中的元素利用移位的方法显示如图所示的图形。
三、实验步骤
1、求两个正整数m和n的最大公约数。
第1步:
在窗体上创建5个标签、2个文本框和1个命令按钮。
第2步:
控件的初始属性设置后的界面如图所示:
第3步:
编写代码:
PrivateSubCommand1_Click()
DimmAsLong,nAsLong,tempAsLong
If(Val(Text1.Text)=0OrVal(Text2.Text)=0)
OrVal(Text1.Text)>2147483647Or
Val(Text2.Text)>2147483647Then
MsgBox“输入的数0或溢出,请重新输入!
”,
vbInformation+vbOKOnly,“数据错误”
Text1.Text=""
Text2.Text="“
Text1.SetFocus
Else
m=Val(Text1.Text)
n=Val(Text2.Text)
IfmEndIf
Do
r=mmodn
m=n:
n=r
LoopWhiler<>0
Label5.Caption=m
EndIf
EndSub
运行程序后,在m、n中输入数据后单击“求解”按钮,其结果将显示在第5个标签中,如图所示。
2、For语句
将一维数组中的元素利用移位的方法显示如图所示的图形
第1步:
建立一个标准工程,窗体上添加一个“显示”按钮。
第2步:
编写代码
PrivateSubForm_Click()
Dima(1To7)
Fori=1To7
a(i)=i
Printa(i);
Nexti
Print
Fori=1To7
t=a(7)
Forj=6To1Step-1
a(j+1)=a(j)
Nextj
a
(1)=t
Forj=1To7
Printa(j);
Nextj
Print
Nexti
EndSub
四、课后思考
1.循环结构的特点是什么?
2.两种类型的循环(当型和直到型)能否进行相互转换?
3.在一个给定的For……Next语句中,如何求出循环体的执行次数?
4.For……Next语句适合处理什么情况的循环?
5.Do……Loop语句适合处理什么情况的循环?
实验四过程与函数
一、实验目的
1、掌握过程与函数的定义和使用方法;
2、掌握过程中变量的作用域;
3.掌握参数传递的方法;
二、实验内容
1、 自定义一个名为Jiecheng的双精度类型函数,它能接收一个整型的自变量,计算并返回该自变量的阶乘。
N!
=1*2*3*…*(n-1)*n
三、实验步骤
第一步:
设计如下界面:
第二步:
双击窗体进入代码窗体,添加一下代码:
PublicFunctionjiecheng(nAsInteger)AsDouble
DimiAsInteger
DimsAsDouble
s=1#
Fori=1Ton
s=s*i
Nexti
jicheng=s
EndFunction
第三步:
双击command1按钮,即计算阶乘按钮,编写以事件过程:
PrivateSubCommand1_Click()
IfText1.Text=""Then
MsgBox"无输入"
ExitSub
EndIf
Text2.Text=jiecheng(Val(Trim(Text1.Text)))
EndSub
第四步:
点击运行,测试结果
四、课后思考
1、该实验中,如果函数类型定义为int型是否可以?
什么是形参?
什么是实参?
实验五控件的应用
一、实验目的
1、掌握列表框、组合框、驱动器列表框、目录列表框、时钟和通用对话框常用属性、重要事件和基本方法
2、熟练掌握VB窗口中控件的使用,掌握建立基于图形界面的应用程序的方法
3、掌握定时器控件中的Timer事件驱动的编写。
二、实验内容
1、利用列表框、、组合框、驱动器列表框、目录列表框、图片框等控件设计一个的图片搜索器。
2、编写一个倒计时程序,界面自己设计,包括“开始”和“停止”按钮。
运行时,若单击“开始”按钮,则开始倒计时,若单击“停止”按钮,则暂停倒计时。
若时间到,则显示消息框。
三、实验步骤
1、利用列表框、、组合框、驱动器列表框、目录列表框、图片框等控件设计一个的图片搜索器。
第一步:
设计如图的界面
第二步:
编写程序代码
OptionExplicit
PrivatestrDriAsString
PrivateSubFile1_Click()
OnErrorResumeNext
DimstrFilePathAsString
strFilePath=File1.Path&"\"&File1.FileName
Image1.Picture=LoadPicture(strFilePath)
EndSub
PrivateSubForm_Load()
Combo1.AddItem"*.BMP"
Combo1.AddItem"*.JPG"
Combo1.AddItem"*.GIF"
Combo1.AddItem"*.BMP;*.JPG;*.GIF"
Combo1.ListIndex=Combo1.ListCount-1
EndSub
PrivateSubDir1_Change()
File1.Path=Dir1.Path
EndSub
PrivateSubDrive1_Change()
OnErrorGoToERR
Dir1.Path=Drive1.Drive
strDri=Drive1.Drive
ExitSub
ERR:
MsgBox"该驱动器内无数据可读",_
vbOKOnly+vbExclamation+_
vbDefaultButton1+vbSystemModal,"提示"
Drive1.Drive=strDri
Dir1.Path=strDri
ResumeNext
EndSub
PrivateSubDrive1_GotFocus()
strDri=Drive1.Drive
EndSub
PrivateSubCombo1_Click()
File1.Pattern=Combo1.Text
EndSub
PrivateSubImage1_Click()
EndSub
2、编写一个倒计时程序,界面自己设计,包括“开始”和“停止”按钮。
运行时,若单击“开始”按钮,则开始倒计时,若单击“停止”按钮,则暂停倒计时。
若时间到,则显示消息框。
第一步:
界面设计:
Timer1的属性Interval要设置为1000
第二步:
编写程序代码:
Dimtime1AsDate
DimT1AsDate,T2AsDate
PrivateSubCommand1_Click()
T1=#12:
00:
10AM#
star
EndSub
PrivateSubCommand2_Click()
Timer1.Enabled=False
EndSub
PrivateSubTimer1_Timer()
T2=T1-Time+time1
Label1=Format(T2,"longtime")
IfT2=#12:
00:
00AM#Then
MsgBox("时间到!
")
End
EndIf
EndSub
PublicSubstar()
Timer1.Enabled=True
time1=Time
EndSub
四、课后思考
1、在实验1中将控件放在窗体上时,如果先放框架内的控件,再放框架,会产生什么结果?
2、Timer控件的Interval属性有什么作用?
实验六菜单与多窗体程序设计
一、实验目的
1、掌握VB下拉菜单和弹出菜单的特点
2、掌握VB菜单设计窗口的使用
3、掌握在应用程序中设计下拉菜单和弹出菜单的方法
4、掌握多窗体程序设计的一般步骤和方法
二、实验内容
1、设计一个类似与Windows2000记事本的应用程序
要求:
文本框只有垂直滚动条,具有自动换行功能;菜单中的某个功能不可选时,其颜色变得暗淡;设计一个快捷键,当在文本中单击右键时弹出包含打开和保存两个选项的快捷菜单。
2、设计Form1和Form2两个窗体,Form1为工程的启动窗体,若单击Form1,则显示Form2,然后单击Form2,则显示Form1,然后卸除Form2;若用户双击Form2,则结束应用程序的运行。
三、实验步骤
1、设计一个类似与Windows2000记事本的应用程序
第一步:
界面设置:
选择“工具”菜单中的“菜单编辑器”命令,设置各菜单项的属性。
选择“工程”中的“部件”命令,在打开的“部件”对话框中选择“MicrosoftCommonDialogControl6.0”
第二步:
属性设置:
见下表
下拉菜单的属性设置
默认控件名
设置控件名
标题(Caption)
文本(Text)
内缩符号
其他属性
Form1
Form1
菜单程序设计
无定义
Text1
空白
Multiline=True
Scrollbars=2
Commondialog1
CdlMemu
主菜单项1
mnufile
文件(&F)
无
子菜单项1
mnuopen
打开(&O)
1
快捷键:
Ctrl+O
子菜单项2
mnusave
保存(&S)
1
Enabled=False
子菜单项3
mnuBar1
-
1
子菜单项4
mnuexit
退出(&E)
1
主菜单项2
mnuedit
编辑(&E)
无
主菜单项3
mnusearch
搜索(&S)
无
主菜单项4
mnuoption
选项(&O)
无
第三步:
编写程序代码
PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
IfButton=2Then
PopupMenumnufile,2
EndIf
EndSub
PrivateSubmnuexit_Click()
End
EndSub
PrivateSubmnuopen_Click()
CdMenu.ShowOpen
mnusave.Visible=True
EndSub
PrivateSubmnusave_Click()
CdMenu.ShowSave
EndSub
第四步:
调试运行。
四、课后思考
弹出菜单和下拉菜单有何区别?
他们之间的关系是什么?
实验七文件操作
一、实验目的
1、掌握与文件系统有关的语句、函数
2、掌握与文件管理有关的控件及应用
3、熟悉顺序文件、随机文件的读写操作
4、了解二进制文件的读写操作
二、实验内容
1、窗体上有驱动器列表框,文件夹列表框,文件列表框。
编写程序使得三个列表框协调工作。
并当用户选择一个文件后,能够显示该文件的属性。
2、利用顺序文件的知识,将文本框text1中的内容保存到一个顺序文件中,然后打开该文件显示内容,同时在标题栏上显示文件保存路径。
三、实验步骤
1、窗体上有驱动器列表框,文件夹列表框,文件列表框。
编写程序使得三个列表框协调工作。
并当用户选择一个文件后,能够显示该文件的属性。
分析:
使用GetAttr(“文件名”)可以得到这个文件的属性。
步骤:
①添加控件。
在窗体中添加驱动器列表框、文件夹列表框、文件列表框和4个复选框。
如图所示。
② 设置属性:
(略)
③编写程序代码:
下面两个过程可以使三个列表框协调动作。
Private Sub Dir1_Change()
File1.Path = Dir1.Path
End Sub
Private Sub Drive1_Change()
Dir1.Path = Drive1.Drive
End Sub
Private Sub File1_Click()
fi = Dir1.Path + "\" + File1.FileName
a = GetAttr(fi)
If a = 0 Then
Check2.Value = 1
Else
Check2.Value = 0
End If
If a Mod 2 = 1 Then
Check1.Value = 1
Else