VB实验报告文档格式.docx
《VB实验报告文档格式.docx》由会员分享,可在线阅读,更多相关《VB实验报告文档格式.docx(30页珍藏版)》请在冰豆网上搜索。
![VB实验报告文档格式.docx](https://file1.bdocx.com/fileroot1/2022-11/21/3a3f57e5-fcda-43d5-af87-497d5e94d26c/3a3f57e5-fcda-43d5-af87-497d5e94d26c1.gif)
记事本,画图板、写字板和媒体播放,并且将四个按钮的Style属性值取为Graphical属性以便在按钮控件上可以添加小图标和设置背景颜色。
在图标库中给四个按钮选择放入合适的小图标。
(图标库位于VB安装目录下有一个“Common\Graphics”文件夹中有大量windows的图像和图标可选。
)
3)使用函数Shell来调用Windows中相应的可执行程序,该函数完整形式如下:
Shell(pathname[,windowstyle])
其中:
Pathname——欲调用的可执行程序路径名;
Windowstyle——指明被调用函数的窗口显示方式
参考程序代码:
•PrivateSubCommand1_Click()
•Shell"
C:
\windows\system32\notepad.exe"
1
•EndSub
•PrivateSubCommand2_Click()
\windows\System32\mspaint.exe"
•PrivateSubCommand3_Click()
\ProgramFiles\WindowsNT\Accessories\
•wordpad.exe"
•PrivateSubCommand4_Click()
\ProgramFiles\WindowsMediaPlayer\wmplayer.exe"
•EndSub
实验二:
界面辅助工具的应用
运用VB中提供的界面辅助工具生成一个应用程序界面,要求该界面带有顶行下拉菜单和工具栏按钮。
1)实验中要求采用两个外部控件即Toolbar和ImageList,这两个控件都是ActiveX控件,都被包含于VB中携带的“MicrosoftWindowsCommonControl6.0”控件组中,需要在“工程”下拉菜单中找到“部件”并单击之,随后在弹出的控件目录中点选“MicrosoftWindowsCommonControl6.0”,使之“应用”并“确定”,这样,该组控件便被全部添加到了工具箱中。
2)预先准备好要用于窗体的素材,例如图片和若干小图标。
然后分别点击工具箱中的Toolbar和ImageList,控件并将这两个控件画到窗体上。
3)向ImageList控件中置入合适的图象,即把未来要用于界面中按钮上的小图标预先置入ImageList控件,具体做法:
用鼠标右键单击ImageList控件,然后单击“属性”以打开“属性页”对话框。
在“通用”选项卡中点选图标预设大小,这里采用32×
32;
然后单击“图像”选项卡;
填入索引号1,然后单击“插入图片”按钮,在随后弹出的选择图片对话框中找到希望出现在Toolbar控件中的图象。
重复该操作(每次重复,索引号加1)直到得到了所需的所有图象后,单击“确定”按钮。
4)将ImageList控件与Toolbar控件相关联,具体做法:
用鼠标右键单击Toolbar控件,然后单击“属性”以打开“属性页”对话框。
在“通用”选项卡中,单击“图象列表”框,并选择刚才置入的ImageList控件,然后单击“应用”。
5)向Toolbar控件中添加按钮,具体做法:
用鼠标右键单击Toolbar控件,然后单击“属性”。
在“属性页”对话框中,单击“按钮”选项卡。
单击“插入按钮”。
单击“样式”框,并选择“分隔符”。
再次单击“插入按钮”,样式将自动被设置为“缺省”。
在“标题”框中,键入你希望出现在按钮上的文字(中文显示)。
在“关键字”框中,键入程序中将用到的代表该按钮的名称标识符(英文)
在“图象”框中键入你想作为该按钮上图标且已经置入ImageList控件中的图片索引号。
如果需要连续生成若干按钮则重复上述过程,直至生成所有的按钮后,单击“确定”按钮,从而完成所有按钮的添加。
6)打开菜单编辑器,可在VB的顶行菜单下面的工具栏点击快捷按钮或在顶行菜单中找到“工具”菜单并下拉选择单击“菜单编辑器”,然后逐一填写标题框中的标题(即你希望出现在顶行菜单中的标题文字和名称框中的名称(即你将要在程序中使用的有关于该菜单操作时的英文标识符),注意,最左边一列菜单项即为顶行菜单显示项,如果需要生成下拉,则每级级联都向右缩进一格。
7)最后,选择你喜欢的界面图片设置为该窗体的picture属性即可。
8)状态栏控件的使用:
在工具箱中点选“StatusBar”然后在窗体的底部画上该控件,设置状态栏的属性操作如下:
用鼠标右键单击StatusBar控件,然后单击“属性”以打开“属性页”对话框。
选择“窗格”选项卡,在“文本”框中输入你想显示在状态栏中的状态信息。
然后可根据需要添加窗格,只需单击“添加窗格”按钮,并在相应的“文本”框中输入所需的提示信息,例如版权等等,亦可根据需要选择显示日期或时间,具体做法是在“样式”组合框中选择“5-sbrtime”即为显示时间,选择“6-sbrdate”即为显示日期。
9)在该工程中添加若干窗体(与Toolbar生成的按钮数相同),并且在每个窗体上放一个命令按钮,以便实现窗体间的切换。
实验知识点:
掌握Toolbar、Imagelist、StatusBar等控件的加载、设置和使用,窗体间的切换方法。
PrivateSubToolbar1_ButtonClick(ByValButtonAsMSComctlLib.Button)
'
依据按下按钮的不同,调出不同的窗体
SelectCaseButton.Caption
Case"
TOOLBAR举例1"
Form2.Show
form1.Hide
TOOLBAR举例2"
Form3.Show
TOOLBAR举例3"
Form4.Show
TOOLBAR举例4"
Form5.Show
退出系统"
IfMsgBox("
确定退出系统吗?
"
vbYesNo+vbQuestion)=vbYesThen
UnloadMe
End
EndIf
EndSelect
EndSub
实验三、VB程序设计技巧
练习VB程序设计的技巧。
如:
RGB函数的用法,控件数组的应用,selectcase分支结构的掌握等
1)设计一个可以进行四则运算的简单计算器。
该计算机除了可以进行加、减、乘、除、求模(取余)等简单的四则运算外,还要求可以进行四则混合连算,并具有符合计算器日常使用习惯的容错纠错功能。
具体步骤如下:
在界面上建立按钮控件数组:
首先在窗体中置入一个命令按钮控件后,将其激活并点击右键通过“复制”、“粘贴”的方法依次产生19个一样的命令按钮控件,其中在创建第一个“粘贴”控件时VB会询问“是否要创建控件数组?
”回答“是”即可开始依次创建该数组。
按钮属性的设置:
将各按钮的caption属性分别设置为0,1,2……9,+、-、×
,/,Mod,=,cls,Exit,注意在设置这些属性时其值与按钮控件的Index属性的对应性。
其它控件的属性设置:
文本框作为显示操作数和结果的控件,应遵循一般计算器的显示习惯,将其Alignment即对齐属性设置为“Right”,此外,将各控件相关的字体、字号等设置为统一风格。
在程序的通用区定义四个窗体层变量:
num1、num2、sum、act、前三个为双精度、act为整型变量。
编写进行四则运算所需的程序作为命令按钮的单击事件过程。
2)设计一个趣味调色板。
通过改变红、绿、蓝三种基本颜色的比例,显示调色结果。
在界面上放置3个滚动条控件(HScrollBar水平滚动条),8个标签(label)控件,1个形状(shape)控件和2个命令按钮,其中形状控件是用来显示调出的颜色结果的,标签控件则分别用来静态显示“红”、“绿”、“蓝”和动态显示红绿蓝三色配比读数以及其它提示性信息,三个滚动条则用来在程序执行时调整三原色的配比比例。
形状控件shape的初始设置:
Shape属性设置值为“oval”这样所显示的形状就是椭圆形的;
Backstyle属性设置值为“opaque”;
Fillcolor属性设置初始值为白色;
程序中使用RGB函数。
该函数的完整格式:
RGB(red,green,blue)
其中的red、green、blue分别代表红、绿、蓝的三个整型数据,其值在0~255之间(如果超过255,则当作255处理)。
合理搭配这三个整型数据,就可以得到全部色彩。
设置ScrollBar控件的四个属性:
LargeChange——滚动条控件每次能够被改变的最大值为100;
SmallChange——滚动条控件每次能够被改变的最小值为10;
Max——滚动条控件的最大值为255;
Value——滚动条控件的当前值随程序运行变化;
编写调色的事件过程程序(即三个滚动条变化的事件过程)。
实验四小综合
掌握时钟控件的使用,熟悉时钟控制程序的编程思路,熟练应用输入与输出相结合的方法,熟练运用函数调用来实现相关功能,将编程思想和控件融为一体来解决实际应用中的问题。
设计一个具有实际应用价值的动态倒计时牌。
要求目标时间(即倒计时截至时间)的年、月、日、时、分、秒以及倒计时主题可以根据不同主题由用户动态设定,并且在此设定基础上在屏幕上显示距离相关主题到达之时还有n年、n天和n秒(其中的三个n各不相同,且随着程序运行动态变化),以北京时间作为主要显示板块,同时显示纽约、伦敦时间的附加倒计时板块。
程序中除了刚运行时给出一次当前标准时间值(或读出系统当前时间)外,在程序运行期间应在自己独立的用户时钟控制下,而不受外界输入影响和系统时间的束缚。
1)根据实验设计需要在窗体上放上若干所需的标签控件、文本框控件、时钟控件、框架控件、组合框控件、命令按钮控件等,并设置各控件的必要属性值;
2)在程序中用时钟控件不断触发系统时间与预设定时间时间截止点的时间差:
分别计算当前时间和预设定时间截止点之间相差的整年数、当前时间到时间截止点还差的不足一年的天数和当前时间到时间截止点之间相差的不足一天的秒数并分别显示之。
3)程序中调用系统时间综合使用了“Now”函数和“Format”函数,其完整形式为:
–Format(Now,“hh:
mm:
ss”)
–Format(Now,“mm/dd/yy”)
前者可以按照“小时:
分钟:
秒”的形式返回当前时间;
后者可以按照“月/日/年”的形式返回。
4)为保证应用程序的灵活性,应在倒计时牌上设有暂停、继续、时间校正、时区切换,结束运行等特殊要求的激发点。
5)按照需要构筑程序框架并编写应用程序。
实验三参考代码一:
•Dimnum1AsDouble,num2AsDouble
•DimsumAsDouble
•DimactAsInteger
•PrivateSubForm_Load()
•num1=0
•num2=0
•sum=0
•PrivateSubCommand1_Click(IndexAsInteger)
•SelectCaseIndex
•Case0
•IfText1.Text="
Then
•Text1.Text="
0"
•Else
•Text1.Text=Text1.Text+"
•EndIf
•Case1
1"
•Case2
2"
•Case3
3"
•Case4
4"
•Case5
5"
•EndIf
•Case6
6"
•Case7
7"
•Case8
8"
•Case9
9"
•Case10
."
•Case11
•num1=CDbl(Text1.Text)
•act=1
•Case12
•act=2
•Case13
•act=3
•Case14
•act=4
•Case15
•act=5
•Case16
•num1=0
•num2=0
•sum=0
•Case17
•num2=CDbl(Text1.Text)
•SelectCaseact
•Case1
•sum=num1+num2
•Case2
•sum=num1-num2
•sum=num1*num2
•Case4
•sum=num1/num2
•Case5
•sum=num1Modnum2
•EndSelect
•Text1.Text=CStr(sum)
•Case18
•End
•EndSelect
实验三参考代码二:
•HScroll1.LargeChange=10:
HScroll1.SmallChange=1:
HScroll1.Max=255:
HScroll1.Value=0
•HScroll2.LargeChange=10:
HScroll2.SmallChange=1:
HScroll2.Max=255:
HScroll2.Value=0
•HScroll3.LargeChange=10:
HScroll3.SmallChange=1:
HScroll3.Max=255:
HScroll3.Value=0
•Label7.Caption=0:
Label8.Caption=0:
Label9.Caption=0
•Label2.BackColor=vbBlack
•PrivateSubHScroll1_Change()
•Label2.BackColor=RGB(HScroll1.Value,HScroll2.Value,HScroll3.Value)
•Label7.Caption=HScroll1.Value
•PrivateSubHScroll2_Change()
•Label8.Caption=HScroll2.Value
•PrivateSubHScroll3_Change()
•Label9.Caption=HScroll3.Value
•HScroll1.Value=0
•HScroll2.Value=0
•HScroll3.Value=0
•End
实验四参考代码:
•DimnYearAsLong,nDayAsLong,tYearAsLong,tDayAsLong
•DimnSecAsLong,tSecAsLong
•DimstrNow1AsString,strNow2AsString
•DimstrEnd1AsString,strEnd2AsString
•nYear,nDay,nSec为当前年和当前年距离年底的天数以及当前天已经过去的秒数,
•tYear,tDay,tSec为预设定时间截止点的年,该年元月1日到时间截止点的天数以及时间截止点当天零点到截止时间的秒数
•Timer1.Enabled=True
•Timer1.Enabled=False
•Label2.Caption="
•Label4.Caption="
000"
•Label6.Caption="
00000000"
•SubshowDay()
•Label4.Caption=(tDay-nDay)Mod365
•SubshowYear()
•Label2.Caption=tYear-nYear-1+(tDay+nDay)\365
•SubshowSecond()
•nSec=86400-nSec+tSec
•IfnSec>
86400Then
•nSec=nSec-86400
•nDay=nDay+1
•Label6.Caption=nSec
•strEnd1=InputBox$("
请输入倒计时截止日期:
(格式:
月-日-年)"
•strEnd2=InputBox$("
请输入倒计时截止时间:
时:
分:
秒)"
•Label1.Caption="
距离"
+Right(strEnd1,4)+"
年"
+Left(strEnd1,2)