1、二级 VISUAL+BASIC 机试 33 及答案解析(总分:100.00,做题时间:90 分钟)一、B1 基本操作题/B(总题数:1,分数:30.00)1.注意:下面出现的“考生文件夹”均为 c:/wexam/25160001。 请根据以下各小题的要求设计 Visual Basic 应用程序(包括界面和代码)。 (1) 在 Form1 的窗体上画一个名称为 Text1 的文本框,然后建立一个主菜单,标题为“操作”,名称为 Op,该菜单有两个子菜单,其标题分别为“显示”和“退出”,其名称分别为 Dis 和 Exit,编写适当的事件过程。程序运行后,如果单击“操作”菜单中的“显示”命令,则在文本
2、框中显示“计算机考试”;如果单击“退出”命令,则结束程序运行。程序的运行情况如图 11-1 所示。 注意:存盘时必须存放在考生文件夹下,工程文件名为 sjt1.vbp,窗体文件名为 sjt1.frm。 (2) 在窗体上画一个列表框,名称为 L1,通过“属性”窗口向列表框中添加 4 个项目,分别为“WHBB”、“HIJK”、“QWEI”和“POIU”,单击列表框中的某一项,则该项就从列表框中消失。程序的运行情况如图 11-2 和图 1l-3 所示。 注意:存盘时必须存放在考生文件夹下,工程文件名为 sjt2.vbp,窗体文件名为 sjtt2.frm。 (分数:30.00)_二、B2 简单应用题/
3、B(总题数:1,分数:40.00)2.注意:下面出现的“考生文件夹”均为 c:/wexam/25160001。 (1) 在考生文件夹下有工程文件sjt3.vbp 及窗体文件 sjt3.frm,该程序是不完整的,请在有?号的地方填入正确内容,然后删除?及所有注释符(即号),但不能修改其他部分。存盘时不得改变文件名和文件夹。 本题描述如下: 在窗体中有两个命令按钮,名称分别是 C1 和 C2,标题分别是“修改窗体图标”和“修改窗体标题”。要求程序运行后,点击 C1 命令按钮,则将窗体标题栏中的图标换为图标文件 1.ico(该文件在考生文件夹下);点击 C2命令按钮,则将窗体标题修改为“窗体”。程序
4、界面如图 11-4 和图 11-5 所示。 (2) 在考生文件夹下有工程文件 sjt4.vbp 及窗体文件 sjt4.frm,该程序是不完整的,请在有?号的地方填入正确内容,然后删除?及所有注释符(即号),但不能修改其他部分。存盘时不得改变文件名和文件夹。 本题描述如下: 窗口中有一个名称为 Picture1 的图片框,一个名称为 HScroll1 的滚动条,3 个命令按钮,名称分别为 Command1,Command2 和 Command3,标题分别为“运行”、“暂停”和“结束”,一个计时器控件,名称为 Timer1。程序运行后,单击“运行”按钮后,使小球围绕大球转动,并可以使用滚动条调节转
5、动的速度;单击“暂停”按钮后,暂停小球的转动;按“结束”按钮结束程序。程序运行界面如图 11-6 所示。 (分数:40.00)_三、B3 综合应用题/B(总题数:1,分数:30.00)3.注意:下面出现的“考生文件夹”均为 c:/wexam/25160001。 在考生文件夹下有工程文件 sjt5.vbp及窗体文件 sjt5.frm,该程序是不完整的,请在有?号的地方填入正确内容,然后删除?及所有注释符(即号),但不能修改其他部分。存盘时不得改变文件名和文件夹。 本题描述如下: 在窗体上有一个名为L1 的列表框,列表框中有若干的列表项如图 11-7 所示,通过属性窗口设置列表框的 MultiSe
6、lect 属性为1。还有两个命令按钮,名称分别是 C1 和 C2,标题分别是“全选”和“存盘”。要求在程序运行时,点击 C1 按钮则将 L1 中的全部列表项选中,然后点击 C2 按钮,将 L1 中的全部列表项写入文本文件 out7.txt 中,并将 out7.txt 保存在考生文件夹下。 (分数:30.00)_二级 VISUAL+BASIC 机试 33 答案解析(总分:100.00,做题时间:90 分钟)一、B1 基本操作题/B(总题数:1,分数:30.00)1.注意:下面出现的“考生文件夹”均为 c:/wexam/25160001。 请根据以下各小题的要求设计 Visual Basic 应用
7、程序(包括界面和代码)。 (1) 在 Form1 的窗体上画一个名称为 Text1 的文本框,然后建立一个主菜单,标题为“操作”,名称为 Op,该菜单有两个子菜单,其标题分别为“显示”和“退出”,其名称分别为 Dis 和 Exit,编写适当的事件过程。程序运行后,如果单击“操作”菜单中的“显示”命令,则在文本框中显示“计算机考试”;如果单击“退出”命令,则结束程序运行。程序的运行情况如图 11-1 所示。 注意:存盘时必须存放在考生文件夹下,工程文件名为 sjt1.vbp,窗体文件名为 sjt1.frm。 (2) 在窗体上画一个列表框,名称为 L1,通过“属性”窗口向列表框中添加 4 个项目,
8、分别为“WHBB”、“HIJK”、“QWEI”和“POIU”,单击列表框中的某一项,则该项就从列表框中消失。程序的运行情况如图 11-2 和图 1l-3 所示。 注意:存盘时必须存放在考生文件夹下,工程文件名为 sjt2.vbp,窗体文件名为 sjtt2.frm。 (分数:30.00)_正确答案:()解析:解析 在窗体上建立好控件后,先设置控件属性,再编写事件过程。在 Visual Basic 中,菜单在“菜单编辑器”窗口中建立。通过 End 语句结束程序的运行。解题步骤:第一步:建立界面并设置控件属性。菜单及控件属性设置见表 11-1。表 11-1 控 件 属 性 设 置 值菜单 名字 标题
9、 Op 操作菜单 名字 标题 Dis 显示 菜单 名字 标题 Exit 退出 文本框 Name Text1第二步:编写程序代码。参考代码:Private Sub Dis_Click()Text1.Text=“计算机考试“End SubPrivate Sub Exit_Click()EndEnd Sub第三步:调试并运行程序。第四步:按题目要求存盘(2) 解析 在窗体上建立好控件后,先设置控件属性,再编写事件过程。用 RemoveItem 方法删除列表框中指定的项目,其格式为:列表框.RemoveItem 索引值RemoveItem 方法从列表框中删除以“索引值”为地址的项目,改方法每次只能删除
10、一个项目。ListIndex 属性是已被选中的表项的位置。如果没有选中任何项,ListIndex 的值将设置为-1。解题步骤:第一步:建立界面并设置控件属性。程序中用到的控件及其属性见表 11-2。表 11-2 控 件 属 性 设 置 值列表框 Name ListL1WHBB,HIJKQWEI,POIU第二步:编写程序代码。参考代码:Private Sub L1_Click()L1.RemoveItem L1.ListIndexEnd Sub第三步:调试并运行程序。第四步:按题目要求存盘。二、B2 简单应用题/B(总题数:1,分数:40.00)2.注意:下面出现的“考生文件夹”均为 c:/we
11、xam/25160001。 (1) 在考生文件夹下有工程文件sjt3.vbp 及窗体文件 sjt3.frm,该程序是不完整的,请在有?号的地方填入正确内容,然后删除?及所有注释符(即号),但不能修改其他部分。存盘时不得改变文件名和文件夹。 本题描述如下: 在窗体中有两个命令按钮,名称分别是 C1 和 C2,标题分别是“修改窗体图标”和“修改窗体标题”。要求程序运行后,点击 C1 命令按钮,则将窗体标题栏中的图标换为图标文件 1.ico(该文件在考生文件夹下);点击 C2命令按钮,则将窗体标题修改为“窗体”。程序界面如图 11-4 和图 11-5 所示。 (2) 在考生文件夹下有工程文件 sjt
12、4.vbp 及窗体文件 sjt4.frm,该程序是不完整的,请在有?号的地方填入正确内容,然后删除?及所有注释符(即号),但不能修改其他部分。存盘时不得改变文件名和文件夹。 本题描述如下: 窗口中有一个名称为 Picture1 的图片框,一个名称为 HScroll1 的滚动条,3 个命令按钮,名称分别为 Command1,Command2 和 Command3,标题分别为“运行”、“暂停”和“结束”,一个计时器控件,名称为 Timer1。程序运行后,单击“运行”按钮后,使小球围绕大球转动,并可以使用滚动条调节转动的速度;单击“暂停”按钮后,暂停小球的转动;按“结束”按钮结束程序。程序运行界面如
13、图 11-6 所示。 (分数:40.00)_正确答案:()解析:解析 在窗体上建立好控件后,先设置控件属性,再编写事件过程。按钮控件的属性由 Caption 来设置,单击触发其 Click 事件。通过设置 Icon 属性修改窗体的图标,修改窗体的 Caption 属性设置其标题。在程序中使用 LoadPicture 函数给 Icon 属性赋值,其格式为:LoadPicmre(“文件名“)LoadPicture 函数把图形文件装入窗体、图片框或图像框中。解题步骤:第一步:建立界面并设置控件属性。程序中用到的控件及其属性见表 11-3。表 11-3 控 件 属 性 设 置 值按钮 Name Cap
14、tion C1 修改窗体图标按钮 Name Caption C 修改窗体标题第二步:编写程序代码。程序提供的代码:Private Sub C1_Click()Form1.Icon=LoadPicture(“?“)End SubPrivate Sub C2_Click()Form1.?=“窗体“End Sub参考代码:Private Sub C1_Click()Form1.Icon=LoadPicture(“1.ico“)End SubPrivate Sub C2_Click()Form1.Caption=“窗体“End Sub第三步:调试并运行程序。第四步:按题目要求存盘。(2) 解析 正面体
15、上建立好控件后,先设置控件属性,再编写事件过程。计时器控件作用是以一定的时间间隔激发计时器事件(Timer)执行相应程序代码。当时计时器控件的Enabled 属性为 True 时,计时器计时开始,当为 False 时计时器计时暂停,所以要使小球运动暂停可将Enabled 属性值设置为 False,要使小球运行,则设置该属性值为 True。解题步骤:第一步:建立界面并设置控件属性。程序中用到的控件及其属性见表 11-4。表 11-4 控 件 属 性 设 置 值按钮 Name Caption Command1 运行按钮 Name Caption Commang2 暂停按钮 Name Caption
16、 Commang3 结束滚动条 Name HScroll1图片框 Name Picture1第二步:编写程序代码。程序提供的代码:Option ExplicitDim c As Single,r As Single r 小球到大球的球心的距离,C 为小球的角度Dim x As Single,y As Single X,Y 为小球移动时的圆心Dim st As SinglePrivate SUb Command1_Click()Timer1.Enabled=TrueEnd SubPrivate Sub Command2_Click() ?End SubPrivate Sub Command3_C
17、lick()EndEnd SubPrivate Sub Form_Load()r=20c=0St=0.063HScroll1.Min=1 设置最小值HScroll1.Max=100 设置最大值End SUbPrivate Sub HScroll1_Change()Timer1.?=200-HScroll1.Value 根据滚动条的数值设置时间间隔,速度越快,间隔越小End SubPrivate Sub Picturel_Paint()PiCture1.FillColor=QBColor(12)PiCture1.ForeColor=QBColor(12)PiCture1.Circle (0,0)
18、 ,2X=Cos(C) * ry=Sin(C) * rPicture1.FillColor=QBColor(14)Picture1.ForeColor=QBColor(14)Picture1.? (x,y) ,0.5c=cstIf C=2 * 3.14159 Thenc=c Mod (2 * 3.14159)End IfEnd SubPrivate Sub Timer1_Timer() ? 重画图片框End Sub参考代码:Option ExplicitDim c As Single,r As Single r 小球到大球的球心的距离,C 为小球的角度Dim x As Single,y As
19、Single X,Y 为小球移动时的圆心Dim st As SinglePriVate Sub Command1_Click()Timer1.Enabled=TrueEnd SubPriVate Sub Command2_Click()Timer1.Enabled=FalseEnd SubPriVate Sub Command3_Click()EndEnd SubPrivate Sub Form_Load()r=20c=0st=0.063HScroll1.Min=1 设置最小值HScroll1.Max=100 设置最大值End SubPrivate Sub HScroll1_Change()T
20、imer1.Interval=200-HScroll1.Vslue 根据滚动条的数值设置时间间隔,速度越快,间隔越小End SubPrivate Sub Picture1_Paint()Picture1.FillColor=QBColor(12)Picture1.ForeColor=QBColor(12)Picture1.Circle (0,0) ,2X=Cos(C) * ry=Sin(C) * rPicture1.Fillcolor=QBColor(14)Picture1.ForeColor=QBColor(14)Picture1.Circle (x,y) ,0.5c=cstIf c=2*
21、3.14159 Thenc=c Mod (2*3.14159)End IfEnd SubPrivate Sub Timer1_Timer()Picture1.RefreSh 重画图片框End Sub第三步:调试并运行程序。第四步:按题目要求存盘。三、B3 综合应用题/B(总题数:1,分数:30.00)3.注意:下面出现的“考生文件夹”均为 c:/wexam/25160001。 在考生文件夹下有工程文件 sjt5.vbp及窗体文件 sjt5.frm,该程序是不完整的,请在有?号的地方填入正确内容,然后删除?及所有注释符(即号),但不能修改其他部分。存盘时不得改变文件名和文件夹。 本题描述如下:
22、在窗体上有一个名为L1 的列表框,列表框中有若干的列表项如图 11-7 所示,通过属性窗口设置列表框的 MultiSelect 属性为1。还有两个命令按钮,名称分别是 C1 和 C2,标题分别是“全选”和“存盘”。要求在程序运行时,点击 C1 按钮则将 L1 中的全部列表项选中,然后点击 C2 按钮,将 L1 中的全部列表项写入文本文件 out7.txt 中,并将 out7.txt 保存在考生文件夹下。 (分数:30.00)_正确答案:()解析:解析 列表框用于在很多项目中作出选择的操作。列表框的 ListCount 属性表示表项的数量,列表项的排列从 0 开始,最后一项的序号为 ListCo
23、unt-1。使用列表项的 Selected 属性来表示列表框中哪些项被选中,该属性实际上是一个数组,各元素与列表框中的一项相对应,其取值为 True 或 False,为True 时表示选择了该项,为 False 表示未选择。解题步骤: 第一步:编写程序代码。 程序提供的代码:Private Sub C1_Click() Dim i As Integer For i=0 TO L1.LiStCount-1 L1.?=True Next End Sub Private Sub C2_Click() Dim i As Integer Open “out7.txt“ For Output As #1
24、For i=0 To L1.ListCount-1 L1.ListIndex=? Print #1, L1.?, L1.Selected(i)=False Next Close #1 End Sub 参考代码: Private Sub C1_Click() Dim i As Integer For i=0 To L1.ListCount-1 L1.Selected(i)=True Next End Sub Private Sub C2_Click() Dim i As Integer Open “out7.txt“ For Output As #1 For i=0 To L1.ListCount-1 L1.ListIndex=i Print #1, L1.Text, L1.Selected(i)=False Next Close #1 End Sub 第二步:调试并运行程序 第三步:按题目要求存盘