vb经典题目及答案.docx
《vb经典题目及答案.docx》由会员分享,可在线阅读,更多相关《vb经典题目及答案.docx(18页珍藏版)》请在冰点文库上搜索。
vb经典题目及答案
1、在考生文件夹下有工程文件wy7.vbp及窗体文件wy7.frm,该程序是不完整的,请在有?
号的地方填入正确的程序代码,然后删除?
及所有注释符号(即'号),但不能修改其它部分。
修改后的程序文件都保存,存盘时不得修改文件夹和文件名。
本题描述如下:
在窗体上有一个名为Text1的文本框,有三个命令按钮,名称分别是C1、C2和C3,标题分别是"读入"、"加密"和"存盘"。
要求程序运行后,点击"读入"按钮,将文本文件in7.txt(该文件在考生文件夹下)中的文本信息读入文本框Text1中;点击"加密"按钮将Text1中的英文字母加密转换,并将转换后的结果显示到Text1中。
转换方式为转换成该字母对应字母表中后两个位置的字母。
例如,转换前的字母是"a",则转换后的是"c",转换前是"E",转换后是"G";点击"存盘"按钮,则将转换后的文本框中的文本保存到out7.txt文件中(该文件保存到考生文件夹下)。
PrivateSubC1_Click()
DimstrinfoAsString
Open"in7.txt"ForInputAs1
Input#1,strinfo
Close#1
Text1.Text=strinfo
EndSub
PrivateSubC2_Click()
DimstrchangeAsString
DimiAsInteger
Fori=1ToLen(Text1.Text)
strchange=strchange+Chr(Asc(Mid(Text1.Text,i,1))+2)
Next
Text1.Text=strchange
EndSub
PrivateSubC3_Click()
Open"out7.txt"ForOutputAs1
Print#1,Text1.Text
Close#1
EndSub
2、
(1)在考生文件夹下有工程文件wy5.vbp及窗体文件wy5.frm,该程序是不完整的,请在有?
号的地方填入正确容,然后删除?
及所有注释符(即'号),但不能修改其它部分。
存盘时不得改变文件名和文件夹。
本题描述如下:
在窗口中有一个RichText文本框控件(名称为rtx1)和一个文本框控件(名称为Text1),两个命令按钮,名称分别为Command1和Command2,标题分别为"加入WY01.TXT"、"统计字符个数"。
要求程序运行后,单击command1将考生文件夹下的wy01.txt的容显示到rtx1中;单击"统计字符个数"按钮统计Text1中有多少个字符,将结果显示在Text1中。
OptionExplicit
PrivateSubCommand1_Click()
rtx1.LoadFileApp.Path+"\wy01.txt"
EndSub
PrivateSubCommand2_Click()
Ifrtx1.Text<>""Then
Text1.Text=Len(rtx1.Text)
EndIf
EndSub
\
3、在考生文件夹下有工程文件wy7.vbp及窗体文件wy7.frm,该程序是不完整的,请在有?
号的地方填入正确容,然后删除?
及所有注释符(即'号),但不能修改其它部分。
存盘时不得改变文件名和文件夹,相应的dat文件也保存到考生文件夹下,否则没有成绩。
本题描述如下:
在名称为Form1的窗体上有五个Label控件和两个命令按钮,数据文件prog8a.dat存放一些字符。
1)按"开始"按钮后,能从考生文件夹下的prog8a.dat中读出数据并分别统计出其中数字、大写字母、小写字母和其它类型字符的个数,将结果写入考生文件夹下的prog8b.dat文件中(以标准格式在一行中输出);
2)执行完毕,"开始"按钮变成"完成",且无效(变灰)
PrivateSubCOMSTART_Click()
DimChAsString,NumberAsInteger,CpAsInteger,LpAsInteger,OthersAsInteger
myfile1=App.Path&"\"&"prog8a.dat"
myfile2=App.Path&"\"&"prog8b.dat"
Openmyfile1ForInputAs#1
Openmyfile2ForOutputAs#2
WhileNotEOF
(1)
Input#1,Ch$
IfAsc(Ch$)>=48AndAsc(Ch$)<=57Then
Number=Number+1
ElseIfAsc(Ch$)>=65AndAsc(Ch$)<=90Then
Cp=Cp+1
ElseIfAsc(Ch$)>=97AndAsc(Ch$)<=122Then
Lp=Lp+1
Else
Others=Others+1
EndIf
Wend
Print#2,Number,Cp,Lp,Others
Close
COMSTART.Caption="完成"
COMSTART.Enabled=False
EndSub
4、在考生文件夹下有工程文件wy7.vbp及窗体文件wy7.frm,该程序是不完整的,请在有?
号的地方填入正确容,然后删除?
及所有注释符(即'号),但不能修改其它部分。
存盘时不得改变文件名和文件夹,相应的dat文件也保存到考生文件夹下,否则没有成绩。
本题描述如下:
在名称为Form1的窗体上有五个Label控件和两个命令按钮,数据文件grade.dat存放一些成绩。
1)按"开始"按钮后,从考生文件夹下的grade.dat中读出数据并求出它们的平均数,将结果写入考生文件夹下的average.dat文件中;
2)执行完毕,"开始"按钮变成"完成",且无效(变灰)
5、
(1)在考生文件夹下有工程文件wy5.vbp及窗体文件wy5.frm,该程序是不完整的,请在有?
号的地方填入正确容,然后删除?
及所有注释符(即'号),但不能修改其它部分。
存盘时不得改变文件名和文件夹。
本题描述如下:
在名称为Form1的窗体上有一个Label控件,4个Text控件及7个命令按钮,功能如下:
1)开始启动工程时,界面上除"开始录入"及"退出"按钮之外,其它按钮均不可用(灰色显示)。
2)单击"开始录入"按钮之后,利用INPUTBOX让用户连续且必须录入10个数。
若录入为非数字符号,则给出警告"输入数据无效,请重新输入数值数据,请输入第n个数"。
3)录入完毕后,"开始录入"变灰,其它变为可用状态。
4)按相应的按钮可分别求出所录入数据的"升序"、"降序"排列及"最大数"和"最小数"并在右侧对应的文本框中显示。
(注意用A(10)存放最大数,A
(1)存放最小数)
5)单击"清除"按钮将所有文本框清空。
PrivateSubCOMSTART_Click()
DimgAsSingle,NAsInteger,SAsSingle
myfile1=App.Path&"\"&"grade.DAT"
myfile2=App.Path&"\"&"average.dat"
Openmyfile1ForInputAs#1
Openmyfile2ForOutputAs#2
DoWhileNotEOF
(1)
Input#1,g
N=N+1
S=S+g
Loop
Close#1
S=S/N
Write#2,S
Close
COMSTART.Caption="完成"
COMSTART.Enabled=False
EndSub
***********************************************************************
(2)在考生文件夹下有工程文件wy6.vbp及窗体文件wy6.frm,该程序是不完整的,请在有?
号的地方填入正确容,然后删除?
及所有注释符(即'号),但不能修改其它部分。
存盘时不得改变文件名和文件夹。
本题描述如下:
在名称为Form1,标题为"求和程序"的窗体上有三个Label控件,两个
Text控件和三个命令按钮。
该程序的主要功能是求从1到Text1中用户输入的任意自然数n的累加和:
1)刚启动工程时,"显示结果"和"清除"按钮均为灰色
2)可以在输入框输入任意自然数(n值太大时,运算时间将很长,建议不
超过9位)。
在输入数的同时"显示结果"变为可用。
当输入为非数值时,累加结果为0
3)单击"显示结果"可以在Text2中显示累加和,且该框的文字不可修改;同时"显示结果"变灰,"清除"变为可用
4)单击"清除",输入框和显示框均显示"0"
5)单击"关闭"按钮结束程序的运行
OptionExplicit
PrivateSubCommand1_Click()
DimiAsDouble
DimsumAsDouble
DimnAsDouble
sum=0
n=Val(Text1.Text)
Fori=1Ton
sum=sum+i
Nexti
Text2.Text=sum
Command1.Enabled=False
Command2.Enabled=True
EndSub
PrivateSubCommand2_Click()
Text1.Text=0
Text2.Text=0
Command1.Enabled=True
Command2.Enabled=False
EndSub
PrivateSubCommand3_Click()
End
EndSub
PrivateSubForm_Load()
Command1.Enabled=False
Command2.Enabled=False
EndSub
PrivateSubText1_Change()
Command1.Enabled=True
EndSub
6、
(1)在考生文件夹下有工程文件wy5.vbp及窗体文件wy5.frm,该程序是不完整的,请在有?
号的地方填入正确容,然后删除?
及所有注释符(即'号),但不能修改其它部分。
存盘时不得改变文件名和文件夹。
本题描述如下:
在窗体上有一个标签数组,名为Label1,该数组有4个控件元素,标题分别是"程序运行"、"文本编辑"、"双向箭头"和"移动窗体"。
在程序运行后,将鼠标移动到各控件元素上,则鼠标的形状将变成各控件元素的标题所代表的鼠标形状,离开控件元素,则又变成正常情况下的箭头形状。
PrivateSubForm_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
Form1.MousePointer=0
EndSub
PrivateSubLabel1_MouseMove(IndexAsInteger,ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
SelectCaseIndex
Case0
Form1.MousePointer=11
Case1
Form1.MousePointer=3
Case2
Form1.MousePointer=7
Case3
Form1.MousePointer=5
EndSelect
EndSub
7、
(1)在考生文件夹下有工程文件wy5.vbp及窗体文件wy5.frm,该程序是不完整的,请在有?
号的地方填入正确容,然后删除?
及所有注释符(即'号),但不能修改其它部分。
存盘时不得改变文件名和文件夹。
本题描述如下:
在窗体中有两个命令按钮,名称分别是C1和C2,标题分别是"修改窗体图标"和"修改窗体标题"。
要求程序运行后,点击C1命令按钮,则将窗体标题栏中的图标换为图标文件1.ico(该文件在考生文件夹下);点击C2命令按钮,则将窗体标题修改为"窗体"。
PrivateSubC1_Click()
Form1.Icon=LoadPicture("1.ico")
EndSub
PrivateSubC2_Click()
Form1.Caption="窗体"
EndSub
8
(2)在考生文件夹下有工程文件wy6.vbp及窗体文件wy6.frm,该程序是不完整的,请在有?
号的地方填入正确容,然后删除?
及所有注释符(即'号),但不能修改其它部分。
存盘时不得改变文件名和文件夹。
本题描述如下:
在窗口中有一个名称为COMMAND1,标题为"读取字型"的命令按钮,一个名称为COMBO1的下拉组合框和一个提示标签Label1。
要求程序运行后,单击"读取字型"按钮读取系统的字型,在COMBOX1中显示。
PrivateSubCommand1_Click()
DimIAsLong
ForI=0ToScreen.FontCount-1
Combo1.AddItemScreen.Fonts(I)
Next
EndSub
9
(2)在考生文件夹下有工程文件wy6.vbp及窗体文件wy6.frm,该程序是不完整的,请在有?
号的地方填入正确容,然后删除?
及所有注释符(即'号)但不能修改其它部分。
存盘时不得改变文件名和文件夹。
本题描述如下:
该程序的功能是:
根据给定的图形的三边的边长来判断图形的类型。
若为三角形则同时计算出为何种三角形,及三角形的周长和面积。
要求完成"判断并计算"按钮的如下功能:
1)判断输入的条件是否为三角形,若是三角形则在Text1中显示"是三角形";在Text2中显示是何种三角形。
2)单击"清除再来"按钮可以将所有显示框清空,且按钮本身变为不可选取状态。
当单击"判断并计算"之后重新恢复为可选状态。
附:
1)三角形存在的条件为任一边不为0且任两边之和大于第三边。
2)若一边具有a^2+b^2=c^2,则为直角三角形;若所有边具有a^2+b^2>c^2,则为锐角三角形;若一边具有a^2+b^2PrivateSubCommand6_Click()
Label1.Enabled=False
Fori=1To10
a(i)=InputBox("请输入第"&i&"个数,请务必输入数值数据!
","输入")
DoWhileIsNumeric(a(i))=False
a(i)=InputBox("输入数据无效,请重新输入数值数据!
!
!
"&"请输入第"&i&"个数","输入")
Loop
Nexti
Fori=1To9
Forj=i+1To10
IfVal(a(j))m=a(j)
a(j)=a(i)
a(i)=m
EndIf
Nextj
Nexti
Command6.Enabled=False
Command1.Enabled=True
Command2.Enabled=True
Command3.Enabled=True
Command4.Enabled=True
Command5.Enabled=True
Command7.Enabled=False
EndSub
PrivateSubCommand7_Click()
Text1.Text=""
Text2.Text=""
Text3.Text=""
Text4.Text=""
Label1.Enabled=True
Command6.Enabled=True
Command4.Enabled=False
Command3.Enabled=False
Command2.Enabled=False
Command1.Enabled=False
Command7.Enabled=False
EndSub
PrivateSubForm_Load()
Command1.Enabled=False
Command2.Enabled=False
Command3.Enabled=False
Command4.Enabled=False
Command7.Enabled=False
EndSub
10、在考生文件夹下有工程文件wy7.vbp及窗体文件wy7.frm,该程序是不完整的,请在有?
号的地方填入正确容,然后删除?
及所有注释符(即'号),但不能修改其它部分。
存盘时不得改变文件名和文件夹。
本题描述如下:
在窗体上有一个名为L1的列表框,列表框中有若干的列表项(见下图),通过属性窗口设置列表框的MultiSelect属性为1。
还有两个命令按钮,名称分别是C1和C2,标题分别是"全选"和"存盘"。
要求在程序运行时,点击"C1"按钮则将L1中的全部列表项选中,然后点击"C2"按钮,将L1中的全部列表项写入文本文件out7.txt中,并将out7.txt保存在考生文件夹下。
PrivateSubCommand3_Click()
End
EndSub
PrivateSubForm_Load()
r=20
c=0
st=0.063
HScroll1.Min=1'设置最小值
HScroll1.Max=100'设置最大值
EndSub
PrivateSubHScroll1_Change()
Timer1.Interval=200-HScroll1.Value'根据滚动条的数值设置时间间隔,速度越快,间隔越小
EndSub
PrivateSubPicture1_Paint()
Picture1.FillColor=QBColor(12)
Picture1.ForeColor=QBColor(12)
Picture1.Circle(0,0),2
x=Cos(c)*r
y=Sin(c)*r
Picture1.FillColor=QBColor(14)
Picture1.ForeColor=QBColor(14)
Picture1.Circle(x,y),0.5
c=c+st
Ifc>=2*3.14159Then
c=cMod(2*3.14159)
EndIf
EndSub
PrivateSubTimer1_Timer()
Picture1.Refresh'重画图片框
EndSub
DimiAsInteger
Fori=0ToL1.ListCount-1
L1.Selected(i)=True
Next
EndSub
PrivateSubC2_Click()
DimiAsInteger
Open"out7.txt"ForOutputAs1
Fori=0ToL1.ListCount-1
L1.ListIndex=i
Print#1,L1.Text,
L1.Selected(i)=False
Next
Close#1
EndSub
PrivateSubCommand3_Click()
End
EndSub
PrivateSubForm_Load()
r=20
c=0
st=0.063
HScroll1.Min=1'设置最小值
HScroll1.Max=100'设置最大值
EndSub
PrivateSubHScroll1_Change()
Timer1.Interval=200-HScroll1.Value'根据滚动条的数值设置时间间隔,速度越快,间隔越小
EndSub
PrivateSubPicture1_Paint()
Picture1.FillColor=QBColor(12)
Picture1.ForeColor=QBColor(12)
Picture1.Circle(0,0),2
x=Cos(c)*r
y=Sin(c)*r
Picture1.FillColor=QBColor(14)
Picture1.ForeColor=QBColor(14)
Picture1.Circle(x,y),0.5
c=c+st
Ifc>=2*3.14159Then
c=cMod(2*3.14159)
EndIf
EndSub
PrivateSubTimer1_Timer()
Picture1.Refresh'重画图片框
EndSub
OptionExplicit
PrivateSubCommand1_Click()
End
EndSub
PrivateSubForm_Load()
Label4.BackColor=RGB(HScroll1.Value,HScroll2.Value,HScroll3.Value)
EndSub
PrivateSubHScroll1_Change()
Label4.BackColor=RGB(HScroll1.Value,HScroll2.Value,HScroll3.Value)
EndSub
PrivateSubHScroll2_Change()
Label4.BackColor=RGB(HScroll1.Value,HScroll2.Value,HScroll3.Value)
EndSub
PrivateSubHScroll3_Change()
Label4.BackColor=RGB(HScroll1.Value,HScroll2.Value,HScroll3.Value)
EndSub