1、VB 机试模拟试卷 11 及答案与解析 一、基本操作题( 30分) 1 注意:下面出现的 “考生文件夹 ”均为 c: wexam25160001。 请根据以下各小题的要求设计 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。二 、简单应用题( 40分) 2 注意:下面出现的 “考生文件夹 ”均为 c: wexam25160
3、001。 (1) 在考生文件夹下有工程文件 sjt3.vbp及窗体文件 sjt3.frm,该程序是不完整的,请在有 ?号的地方填入正确内容,然后删除 ?及所有注释符 (即 号 ),但不能修改其他部分。存盘时不得改变文件名和文件夹。 本题描述如下: 在窗口中有一个 RichText文本框控件和一个文本框控件,名称分别为 rtx1和 Text1,两个命令按钮,名称分别为 Command1和 Command2,标题分别为 “加入 SJT01.TXT”、 “统计字符个数 ”。要求程序运行后,单击 command1将考生文件夹下的 sjt01.txt的内容显示到 rtx1中;单击 “统计字符个数 ”按钮
4、统计 rtx1中有多少个字符,将结果显示在 Text1中。程序运行结果如图 13-4所示。 (2) 在考生文件夹下有工程文件 sjt4.vbp及窗体文件 sjt4.frm,该程序是不完整的,请在有 ?号的地方填入正确内容,然后删除 ?及所有注释符 (即 号 ),但不能修改其他部分。存盘时不得改变文件名和文件夹。 本题描述如下: 在窗体上有一个名为 Image1 的图像框,要求程序运行后,鼠 标左键点击图像框,则图像框变大;鼠标右键点击图像框,图像框变小。设计界面如图 13-5所示。三、综合应用题( 30分) 3 注意:下面出现的 “考生文件夹 ”均为 c: wexam25160001。 在考生
5、文件夹下有工程文件 sjt5.vbp及窗体文件 sjt5.frm,该程序是不完整的,请在有 ?号的地方填入正确的程序代码,然后删除 ?及所有注释符号 (即 号 ),但不能修改其他部分。修改后的程序文件都保存,存盘时不得修改文件夹和文件名。 本题描述如下: 在窗体上有一个名称为 Text1的文本框,三个命令按钮,名称分别 是 C1、 C2和 C3,标题分别是 “读入 ”、 “加密 ”和 “存盘 ”。要求程序运行后,点击 “读入 ”按钮,将文本文件in7.txt(该文件在考生文件夹下 )中的文本信息读入文本框 Text1中;点击 “加密 ”按钮将 Text1中的英文字母加密转换,并将转换后的结果显
6、示到 Text1中。转换方式为转换成该字母对应字母表中后两个位置的字母。例如,转换前的字母是 “a”,则转换后的是 “c”;点击 “存盘 ”按钮,则将转换后的文本框中的文本保存到 out7.txt文件中 (该文件保存到考生文件夹下 )。程序设计界面如图 12-8所示。VB 机试 模拟试卷 11 答案与解析 一、基本操作题( 30分) 1 【正确答案】 在窗体上建立好控件后,先设置控件属性,再编写事件过程。 在Visual Basic中,菜单在 “菜单编辑器 ”窗口中建立。通过 End语句结束程序的运行。解题步骤: 第一步:建立界面并设置控件属性。菜单及控件属性设置见表 11-1。 第二步:编写
7、程序代码。 参考代码: Private Sub Dis_Click() Text1.Text=“计算机考试 “ End Sub Private Sub Exit_Click() End End Sub 第三步:调试并运行程序。 第四步:按题目要求存盘 (2)在窗体上建立好控件后,先设置控件属性,再编写事件过程。 用 RemoveItem方法删除列表框中指定的项目,其格式为: 列表框 .RemoveItem索引值 RemoveItem方法从列表框中删除以 “索引值 ”为地址的项目,改方法每次只能删除一个项目。 ListIndex 属性是已被选中的表项的位置。如果没有选中任何项, ListInde
8、x 的值将设置为 -1。解题步骤: 第一步:建立界面并设置控件属性。程序中用 到的控件及其属性见表 11-2。第二步:编写程序代码。 参考代码: Private Sub L1_Click() L1.RemoveItem L1.ListIndex End Sub 第三步:调试并运行程序。 第四步:按题目要求存盘。 二、简单应用题( 40分) 2 【正确答案】 在窗体上建立好控件后,先设置控件属性,再编写事件过程 RichTextBox控件可以用 LoadFile和 SaveFile方法可以方便的为 RichTextBox控件打开或保存文件, LoadFile方法能将 RTF文件或文本文件装 入控
9、件,其形 式如:对象 .LoadFile 文件标志符 ,文件类型 ;统计字符的个数可用 Len(要统计的内容 )函数。解题步骤: 第一步:建立界面并设置控件属性。程序中用到的控件及其属性见表 13-3。 程序提供的代码: Option Explicit Private Sub Command1_Click() rtx1.? App.Path+“sjt01.txt“ End Sub Private Sub Command2_Click() If rtx1.Text “ Then Text1.Text=? End If End Sub 参考代码: Option Explicit Private S
10、ub Commandl_Click() rtx1.LoadFile App. Path+“sjt01.txt“ End Sub Private Sub Command2_Click() If rtx1.Text “ Then Text1.Text=Len(rtx1.Text) End If End Sub 第三步:调试并运行程序。 第四步:按题目要求存盘。 (2)在窗体上建立好控件后,先设置控件属 性,再编写事件过程 图 像框的图片由 Picture属性设置。判断鼠标左键还是右键可以通过图像框的 MouseUp事件的 Button参数来判断。 MouseUp事件再释放鼠标按钮时发生。其语法格式
11、为: PrivateSubobject_MouseUp(indexAsInteger,buttonAsInteger,shiftAsInteger,xAsSingle,yAsSingle) Object一个对象表达式。 Index 一个整数,用来惟一地标识一个在控件数组中的控件。 Button 返回一个整数,用来标识该事件的产生是按下 (MouseDown)或者释放 (MouseUp)按钮引起的。 button参数是具有相应于左按钮 (位 0),右按钮(位 1),以及中间按钮 (位 2)的一个位字段。这些位的值分别等于 1, 2,和 4。其中仅有一位被设置,指示出引起该事件的那个按钮 Shif
12、t返回一个整数,在 button参数 指定的按钮被按下或者被释放的情况下,该整数相应于 SHIFT, CTRL和 ALT键的状态。某键被按下使得一个二进制位被设置。 shift参数是具有相应于 SHIFT键 (位 0), CTRL键 (位 ”,以及 ALT键 (位 2)最少二进制位的一个位字段。这些位的值 分别等于 1, 2,和 4。 shift参数指示这些键的状态。这些位中可能有一些、全部或者一个也没有被设置,指示这些键中的一些、全部或者一个也没有被按下。解题步骤: 第一步:建立界面并设置控件属性。 第二步:编写程序代码。 程序提供的代码: Private Sub Image1_MouseU
13、p(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button=1 Then If Image1.Height 4000 Or Image1.Width 4000 Then Imagel.Height=Imagel.Height+500 Imagel.Width=Imagel.Width ? 500 End If End If If Button=? Then If Image1.Height 1000 Or Image1.Width 1000 Then Image1.Height=Image1.Height
14、-500 Image1.Width=Image1.Width-500 End If End If End Sub 参考代码: Private Sub Image1_MouseUp(Button As Integer, Shift As Integer, XAs Single, Y As Single) If Button=1 Then If Image1.Height 4000 Or Image1.Width 4000 Then Image1.Height=Image1.Height+500 Image1.Width=Image1.Width+500 End If End If If Butt
15、on=2 Then If Image1.Height 1000 Or Image1.Width 1000 Then Image1.Height=Image1.Height-500 Image1.Width=Image1.Width-500 End If End If End Sub 第三步:调试并运行程序。 第四步:按题目要求存盘。 三、综合应用题( 30分) 3 【正确答案】 文本框中显示的内容由 Text属性设置。单击命令按钮触发 Click事件,命令按钮的标题由 Caption属性设置。 题目要求加密原理是:在原来字符的 ASCII码加上一个整 数 (题目要求为 2)转换为其他的字符,然
16、后再将加密后的字符显示在文本框中。这样就用到了 Chr函数和Asc函数。 Chr函数返回 String,其中包含有与指定的字符代码相关的字符。其语法格式为: Chr(charcode) charcode必要参数,是一个用来识别某字符的 Long。 Asc函数返回一个 Integer,代表字符串中首字母的字符代码。其语法格式为: Asc(string) string必要的参数,可以是任何有效的字符串表达式。解题步骤: 第一步:编写程序代码 。 程序提供的代码: Private Sub C1_Click() Dim strinfo As String ? “in7.txt“ For Input A
17、s 1 Input #1, strinfo Close #1 Text1.Text=strinfo End Sub Private Sub Command2_Click() Dim strchange As String Dim i As Integer For i=1 To Len(Text1.Text) strchange=strchange+?(Asc(Mid(Text1.Text, i, 1) ) +2) Next Text1.Text=strchange End Sub Private Sub Command3_Click() Open “out7.txt“ For Output A
18、s 1 Print #1, ? Close #1 End Sub 参考代码: Private Sub C1_Click() Dim strinfo As String Open “in7.txt“ For Input As 1 Input #1, strinfo Close #1 Text1.Text=strinfo End Sub Private Sub C2_Click() Dim strchange As String Dim i As Integer For i=1 To Len(Text1.Text) strchange=strchange+Chr(Asc(Mid(Text1.Text, i, 1) ) +2) Next Text1.Text=strchange End Sub Private Sub C3_Click() Open “out7.txt“ For Output As 1 Print #1, Text1.Text Close #1 End Sub 第二步:调试并运行程序 第三步:按题目要求存盘