VB综合实验报告.docx

上传人:b****6 文档编号:13824265 上传时间:2023-06-17 格式:DOCX 页数:19 大小:130.02KB
下载 相关 举报
VB综合实验报告.docx_第1页
第1页 / 共19页
VB综合实验报告.docx_第2页
第2页 / 共19页
VB综合实验报告.docx_第3页
第3页 / 共19页
VB综合实验报告.docx_第4页
第4页 / 共19页
VB综合实验报告.docx_第5页
第5页 / 共19页
VB综合实验报告.docx_第6页
第6页 / 共19页
VB综合实验报告.docx_第7页
第7页 / 共19页
VB综合实验报告.docx_第8页
第8页 / 共19页
VB综合实验报告.docx_第9页
第9页 / 共19页
VB综合实验报告.docx_第10页
第10页 / 共19页
VB综合实验报告.docx_第11页
第11页 / 共19页
VB综合实验报告.docx_第12页
第12页 / 共19页
VB综合实验报告.docx_第13页
第13页 / 共19页
VB综合实验报告.docx_第14页
第14页 / 共19页
VB综合实验报告.docx_第15页
第15页 / 共19页
VB综合实验报告.docx_第16页
第16页 / 共19页
VB综合实验报告.docx_第17页
第17页 / 共19页
VB综合实验报告.docx_第18页
第18页 / 共19页
VB综合实验报告.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

VB综合实验报告.docx

《VB综合实验报告.docx》由会员分享,可在线阅读,更多相关《VB综合实验报告.docx(19页珍藏版)》请在冰点文库上搜索。

VB综合实验报告.docx

VB综合实验报告

 

华北科技学院计算机学院综合性实验

实验报告

 

课程名称程序设计语言(VB)

实验学期2015至2016学年第二学期

学生所在系部安全工程学院

年级2015级班级安卓B151

学生姓名徐艳强学号201510044218

任课教师李冬艳

实验成绩

 

计算机学院制

《程序设计语言(VB)》课程综合性实验报告

开课实验室:

基础三2016年6月29日

实验题目

VisualBasic综合应用程序开发

一、实验目的

1、掌握数组的应用:

(1)数组的定义

(2)数组的基本操作,包括数组的输入输出、数组元素的比较、求平均值、数组的排序等。

2、会使用过程编程和字符串操作

(1)sub过程的定义与调用

(2)function过程的定义调用

(3)字符串的大小写转换操作

3、掌握基本控件的使用

包括常用标准控件的使用,如标签、按钮、文本框、单选按钮、滚动条等。

4、掌握菜单和工具栏的使用

二、设备与环境

硬件:

多媒体计算机

软件:

Windows7以上的操作系统、VisualBasic集成开发环境

三、实验内容

1.先进入欢迎界面,在屏幕上显示"欢迎您使用本程序",并弹出密码框,等待输入密码。

(5%)

2.密码正确后进入系统主界面,主界面包括“数组应用”、“过程应用”、“控件应用”和“退出”等菜单,并提供相关工具栏或命令按钮。

(10%)

3.“数组应用”菜单中包括“数组操作”子菜单,单击此菜单,弹出“数组操作”对话框,如图1所示。

(35%,每个按钮功能为5%)。

题目描述如下:

在名称为“数组操作”的窗体上有一个label控件,4个text控件及7个命令按钮,功能如下:

(1)开始启动工程时,界面上除“输入”及“返回”按钮之外,其他按钮均不可用(灰色显示)。

(2)单击“输入”按钮之后,利用inputbox让用户连续且必须输入10个整数。

若输入为非数字符号,则给出警告“输入数据无效,请重新输入,请输入第n个数”。

(3)输入完毕后,“输入”按钮变灰,其他变为可用状态。

(4)按相应的按钮可分别将输入的数据升序或降序排列,及求最大、最小值,并在右侧对应的文本框中显示(注意用A(10)存放最大数,A

(1)存放最小数)。

(5)单击“清空”按钮将所有文本框清空。

4.“过程应用”菜单中包括“字符转换”和“选择器”子菜单。

(1)单击“字符转换”菜单,弹出“字符转换”对话框,如图2所示,要求必须将“大小写转换”功能定义为一个sub过程,通过调用该过程完成大小写转换。

(2)单击“选择器”菜单,弹出“选择器”对话框,在组合框中选择省份,在左侧的列表框中就会出现对应省份的大学,单击“>”按钮,会把左侧列表框中你选择的大学移动到右侧的列表框中,而当你单击“>>”按钮时,会把左侧全部的大学移动到右侧的列表框中;同理但你单击“<”按钮时,会把右侧列表框中你所选择的大学移动到左侧的列表框中,单击“<<”按钮时,会把右侧所有的大学移动到左侧的列表框中。

(25%)

题目描述如下:

(1)在“字符转换”窗体上有两个文本框、三个单选按钮和一个命令按钮。

运行时,在text1中输入若干个大写和小写字母,并选中一个单选按钮,再单击“转换”按钮,则按选中的单选按钮的标题进行转换,结果放入text2。

(2)在“选择器”窗体上有一个组合框、两个列表框和四个命令按钮。

运行时,在组合框中选择省份,会在list1中出现相应的学校,单击“>”的时候会将list1中所选中的学校移动到list2中

单击“>>”按钮后,会将list1中全部的学校转移到list2中。

单击“<”的时候会将list2中所选中的学校移动到list1中,单击“<<”按钮后,会将list2中全部的学校转移到list1中。

5.单击“控件应用”菜单,弹出“数学运算”对话框,如图3所示。

(25%)

题目描述如下:

在“数学运算”窗体上有一个名称为cmd1、标题为“计算”的命令按钮;两个水平滚动条,名称为hs1和hs2,其max属性均为100,min属性为1;四个标签,名称为lab1、lab2、lab3和lab4,标题分别为“运算数1”、“运算数2”、“运算结果”和空白;此外包含四个单选按钮,标题为“+”、“-”、“*”和“/”。

程序运行后,移动两个滚动条中的滚动框,用滚动条的当前值作为运算数,如果选中一个单选按钮,然后单击命令按钮,相应的计算结果将显示在label4中。

6.单击“退出”菜单,退出程序运行。

四.实验结果及分析

1.菜单

(1)功能

主要功能就是把每个小程序串联起来,使其连续、具有整体性。

分为数组应用、控件应用、过程应用、和退出四个一级菜单。

在数组应用一级菜单下有数组操作二级菜单、控件应用一级菜单下有选择器和数学运算两个二级菜单、过程应用一级菜单下有字符转换二级菜单。

其中一级菜单中,单击退出后实现结束程序的目的,二级菜单对应每个程序,单击二级菜单会实现出现对相应的程序窗体。

(2)界面抓取

 

(3)实现代码

PrivateSub数学运算_Click()

数学运算窗体.Show

EndSub

PrivateSub数组操作_Click()

数组操作窗体.Show

EndSub

PrivateSub退出_Click()

End

EndSub

PrivateSub选择器_Click()

选择器窗体.Show

EndSub

PrivateSub字符转换_Click()

字符转换窗体.Show

EndSub

 

2.初始界面

(1)功能

人员分工介绍。

(2)界面抓取

 

(3)实现代码

PrivateSubtxyd(ByValaAsString)

'一个移动图片的子过程

Ifa="yd"Then

Image1.Left=17000

Timer1.Enabled=True

Text1.Visible=False

Timer1.Interval=50

Label6.Visible=False

EndIf

EndSub

PrivateSubCommand1_Click()

登录页面.Show

Unload初始界面

EndSub

PrivateSubForm_Load()

Image1.Left=17000

'把图片框移动到一个看不到的位置的上

Timer1.Enabled=False

Timer1.Interval=50

Text1.Visible=False

EndSub

PrivateSubLabel2_Click()

Image1.Picture=LoadPicture(App.Path+"\xyq.jpg")

Calltxyd("yd")

Text1="徐艳强:

负责串接所有程序、字符转换、菜单的建立和设计、选择器制作。

"

EndSub

PrivateSubLabel3_Click()

Image1.Picture=LoadPicture(App.Path+"\ds.jpg")

Calltxyd("yd")

Text1="丁松:

负责登录页面及首页"

EndSub

PrivateSubLabel4_Click()

Image1.Picture=LoadPicture(App.Path+"\zzz.jpg")

Calltxyd("yd")

Text1="张泽中:

负责数组操作。

"

EndSub

PrivateSubLabel5_Click()

Image1.Picture=LoadPicture(App.Path+"\wll.jpg")

Calltxyd("yd")

Text1="王龙龙:

负责数学运算。

"

EndSub

PrivateSubTimer1_Timer()

Image1.Left=Image1.Left-100

IfImage1.Left=100ThenText1.Visible=True:

Timer1.Enabled=False

EndSub

3.数组应用

(1)功能

开始启动工程时,界面上除“输入”及“返回”按钮之外,其他按钮均不可用(灰色显示)。

单击“输入”按钮之后,利用inputbox让用户连续且必须输入10个整数。

若输入为非数字符号则给出警告“输入数据无效,请重新输入,请输入第n个数”。

输入完毕后,“输入”按钮变灰,其他变为可用状态。

按相应的按钮可分别将输入的数据升序或降序排列,及求最大、最小值,并在右侧对应的文本框中显示(注意用A(10)存放最大数,A

(1)存放最小数)。

单击“清空”按钮将所有文本框清空。

(2)界面抓取

(3)实现代码

Dima(1To10)AsInteger

PrivateSubCommand1_Click()

Text1=""

Fori=1To9

Forj=i+1To10

Ifa(i)>a(j)Then

T=a(i)

a(i)=a(j)

a(j)=T

EndIf

Nextj

Nexti

Fori=1To10

Text1=Text1&""&a(i)

Next

EndSub

PrivateSubCommand2_Click()

Fori=1To9

Forj=i+1To10

Ifa(i)

T=a(i)

a(i)=a(j)

a(j)=T

EndIf

Nextj

Nexti

Fori=1To10

Text2=Text2&""&a(i)

Next

EndSub

PrivateSubCommand3_Click()

Max=a

(1)

Fori=1To10

Ifa

(1)

Max=a(i)

EndIf

Next

Text3=Max

EndSub

PrivateSubCommand4_Click()

Min=a

(1)

Fori=1To10

Ifa

(1)>a(i)Then

Min=a(i)

EndIf

Next

Text4=Min

EndSub

PrivateSubCommand5_Click()

Command1.Enabled=True

Command2.Enabled=True

Command3.Enabled=True

Command4.Enabled=True

Command6.Enabled=True

Command5.Enabled=False

Fori=1To10

b=InputBox("请输入第"&i&"个数","输入")

IfIsNumeric(b)=FalseThen

MsgBox"请重新输入第"&i&"个数",,"警告"

b=InputBox("请输入第"&i&"个数","输入")

Else

a(i)=b

EndIf

Text1=Text1&""&a(i)

Next

EndSub

PrivateSubCommand6_Click()

Text1=""

Text2=""

Text3=""

Text4=""

Command1.Enabled=False

Command2.Enabled=False

Command3.Enabled=False

Command4.Enabled=False

Command6.Enabled=False

Command5.Enabled=True

EndSub

PrivateSubCommand7_Click()

UnloadMe

EndSub

PrivateSubForm_Load()

Command1.Enabled=False

Command2.Enabled=False

Command3.Enabled=False

Command4.Enabled=False

Command6.Enabled=False

EndSub

4.数学运算

(1)功能

程序运行后,移动两个滚动条中的滚动框,用滚动条的当前值作为运算数,如果选中一个单选按钮,然后单击命令按钮,相应的计算结果将显示在label4中。

(2)界面抓取

(3)实现代码

Dima%,b%

PrivateSubCommand1_Click()

a=HScroll1.Value

b=HScroll2.Value

IfOption1.Value=TrueThen

c=a+b

Label6.Caption=a&"+"&b&"="&c

ElseIfOption2.Value=TrueThen

c=a-b

Label6.Caption=a&"-"&b&"="&c

ElseIfOption3.Value=TrueThen

c=a*b

Label6.Caption=a&"×"&b&"="&c

ElseIfOption4.Value=TrueThen

c=a/b

Label6.Caption=a&"÷"&b&"="&Format(c,"0.00")

Else

MsgBox"请选择运算类型",,"提示"

EndIf

EndSub

PrivateSubCommand2_Click()

UnloadMe

EndSub

PrivateSubForm_Load()

HScroll1.Max=100

HScroll1.Min=1

HScroll2.Max=100

HScroll2.Min=1

EndSub

PrivateSubHScroll1_Change()

Label2.Caption=HScroll1.Value

EndSub

PrivateSubHScroll2_Change()

Label4.Caption=HScroll2.Value

EndSub

5.选择器

(1)功能

程序运行后,在组合框中选择省份,在左侧的列表框中就会出现对应省份的大学,单击“>”按钮,会把左侧列表框中你选择的大学移动到右侧的列表框中,而当你单击“>>”按钮时,会把左侧全部的大学移动到右侧的列表框中;同理但你单击“<”按钮时,会把右侧列表框中你所选择的大学移动到左侧的列表框中,单击“<<”按钮时,会把右侧所有的大学移动到左侧的列表框中。

(2)界面抓取

(3)实现代码

PrivateSubyd(ByValbAsString)'移动一项的子过程

Ifb="1to2"AndList1.Text<>""Then

'如果是list1移动到list2而且选中list1中的内容

List2.AddItemList1.Text

'在list2中添加你所选中的内容

List1.RemoveItemList1.ListIndex

'删除list1中所选中的项

ElseIfb="2to1"AndList2.Text<>""Then

List1.AddItemList2.Text

List2.RemoveItemList2.ListIndex

EndIf

EndSub

PrivateSubydqt(ByValaAsString)'移动全部的子过程

Ifa="1to2"Then'如果是把list1中的内容全部移动到list2中

Fori=0ToList1.ListCount-1

List2.AddItemList1.List(i)'在list2中添加list1中的全部内容

Next

Else

Fori=0ToList2.ListCount-1

List1.AddItemList2.List(i)

Next

EndIf

EndSub

PrivateSubCombo1_Click()

IfCombo1.Text="北京"Then'判断组合框中所选择的省份

List1.Clear

List2.Clear

List1.AddItem"北京科技大学"'加载对应省份的大学

List1.AddItem"清华大学"

List1.AddItem"北京大学"

List1.AddItem"北京航空航天大学"

List1.AddItem"北京师范大学"

List1.AddItem"北京农业大学"

ElseIfCombo1.Text="河北"Then'判断组合框中所选择的省份

List1.Clear

List2.Clear

List1.AddItem"华北科技学院"'加载对应省份的大学

List1.AddItem"燕京理工大学"

List1.AddItem"防灾科技学院"

List1.AddItem"中央美术学院燕郊分校"

List1.AddItem"廊坊师范学院"

List1.AddItem"河北工业大学"

ElseIfCombo1.Text="哈尔滨"Then'判断组合框中所选择的省份

List1.Clear

List2.Clear

List1.AddItem"哈尔滨工业大学"'加载对应省份的大学

List1.AddItem"哈尔滨理工大学"

List1.AddItem"黑龙江大学"

List1.AddItem"哈尔滨剑桥学院"

List1.AddItem"哈尔滨师范大学"

List1.AddItem"黑龙江科技大学"

EndIf

EndSub

PrivateSubCommand1_Click()

Callyd("2to1")'调用子过程从list2向list1移动一项

EndSub

PrivateSubCommand2_Click()

Callydqt("2to1")'调用子过程从list2向list1移动全体

List2.Clear

EndSub

PrivateSubCommand3_Click()

Callyd("1to2")'调用子过程从list1向list2移动一项

EndSub

PrivateSubCommand4_Click()

Callydqt("1to2")'调用子过程从list1向list2移动全体

List1.Clear

EndSub

PrivateSubCommand5_Click()

UnloadMe'返回键卸载当前窗体

EndSub

PrivateSubForm_Load()

Combo1.AddItem"北京"'加载组合框中的几个省份

Combo1.AddItem"河北"

Combo1.AddItem"哈尔滨"

EndSub

6.字符转换

(1)功能

程序运行后,在Text1中输入若干个大写和小写字母,并选中一个单选按钮,再单击“转换”按钮,则将Text1中的字母按照单选按钮的标题进行相应的转换。

结果放在Text2中。

(2)界面抓捕

(3)实现代码

PrivateSubzhuanhuan(ByValaAsString)

'子过程转换字母大写小写以及大小写互换

Fori=1ToLen(a)'遍历字符串中的所有字母

T=Mid(a,i,1)'分别取字符串中的所有字母

IfOption1.Value=TrueThen

'判断字母需要转换成什么类型如果是大小写互换

IfAsc(T)<=122AndAsc(T)>=97Then

'判断取出来的字母是大写还是小写如果是小写则把其变为大写

Text2=Text2&UCase(T)'让字母在text2中显示

Else'如果是大写则把其变为小写

Text2=Text2&LCase(T)'让字母在text2中显示

EndIf

ElseIfOption2.Value=TrueThenText2=Text2&UCase(T)

'如果是第二个单选按钮被选中则全部转换为大写

ElseIfOption3.Value=TrueThenText2=Text2&LCase(T)

'如果是第三个单选按钮被选中则全部转换为小写

EndIf

Next

EndSub

PrivateSubCommand1_Click()

Text2=""

Callzhuanhuan(Text1)'调用子过程转换text1中的字符串

EndSub

PrivateSubCommand2_Click()

UnloadMe'单击返回卸载当前窗体

EndSub

五、总结

经过了一个学期的VB课程的学习,我可以设计一些简单的应用程序,这个学期初我们从第一章VB的概述入手,逐渐的了解VB,并深入的学习,在第二章掌握了VB中一些基本的控件的属性及一些常用事件,如标签、窗体、文本框、命令按钮、图像框以及图片框等…….在第三章中学习了变量和常量、数据类型、关键字及标识符等一些在编程中较为基础但又必不可少的东西,其中学习了那些标识符是合法的、符号常量的声明方法和一些系统常量,如颜色常量(vbRed)等……其次学习了算数运算符及其优先级、逻辑运算符和所有运算符的优先级。

掌握了一些VB的常用内部函数,包括数学函数、字符串函数、转换函数、时间与日期函数以及随机函数。

在第四、五、六章中我们接触了计算机程序设计中的三大结构,即顺序结构、选择结构和循环结构。

在顺序结构中,我们学习了一些基本的语句,和一些常用的方法,如赋值、结束和暂停语句,Print方法、Format函数、Inputbox函数、Msgbox函数与过程。

也学习了一些基本的程序调试,了解了一些错误类型和怎样调试程序。

在选择结构中,学习了If的单、多、双分支语句,也学习了SelectCase语句、条件语句的嵌套和一些有关选择的控件,如单选按钮、复选框和框架。

在循环结构中,学习了For…..Next语句,Do….Loop语句以及While…..Wend语句掌握了三种语句的相同及不同之处和循环语句的嵌套。

也学习了一些有关循环的控件,如滚动条、进度条和定时器。

随着不断的学习

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2