1、二级 VISUAL+BASIC 机试 35 及答案解析(总分:100.00,做题时间:90 分钟)一、B1 基本操作题/B(总题数:1,分数:30.00)1.注意:下面出现的“考生文件夹”均为 c:/wexam/25160001。 请根据以下各小题的要求设计 Visual Basic 应用程序(包括界面和代码)。 (1) 在 Form1 的窗体上画一个名称为 Text1 的文本框,然后建立一个主菜单,标题为“操作”,名称为 Op,该菜单有两个子菜单,其标题分别为“显示”和“隐藏”,名称分别为 Dis 和 Hid,编写适当的事件过程。程序运行后,如果单击“操作”菜单中的“显示”命令,则在文本框中
2、显示“计算机考试”;如果单击“隐藏”命令,则隐藏文本框。程序的运行情况如图 12-1 和图 12-2 所示。 注意:存盘时必须存放在考生文件夹下,工程文件名为 sjt1.vbp,窗体文件名为sjt1.frm。程序中不得使用任何变量。 (2) 在窗体上画一个列表框,名称为 L1,通过“属性”窗口向列表框中添加四个项目,分别为“早上好”、“中午好”、“下午好”和“晚上好”,编写适当的事件过程。程序运行后,每次单击列表框中的任何一项,则总在最后面添加一项“真有礼貌”。程序的运行情况如图 12-3 和图 12-4 所示。 注意:存盘时必须存放在考生文件夹下,工程文件名为 sjt2.vbp,窗体文件名为
3、 sjt2.frm。程序中不得使用任何变量。 (分数:30.00)_二、B2 简单应用题/B(总题数:1,分数:40.00)2.注意:下面出现的“考生文件夹”均为 c:/wexam/25160001。 (1) 在考生文件夹下有工程文件sjt3.vbp 及窗体文件 sjt3.frm,该程序是不完整的,请在有?号的地方填入正确内容,然后删除?及所有注释符(即号),但不能修改其他部分。存盘时不得改变文件名和文件夹。 本题描述如下: 在窗口中有一个名称为 Image1 的图像框,一个名称为 Timer1 的计时器,一个名称为 HScroll1 的滚动条,还有一个名称为 C1,标题为“开始”的命令按钮。
4、要求程序运行后,点击开始按钮,则图像框中的图片根据计时器中设定的时间间隔交替变更,如果改变滚动条中滚动框的位置,则图片交替变换的速度也随之变化。程序运行界面如图 12-5 和图 12-6 所示。 (2) 在考生文件夹下有工程文件 sjt4.vbp 及窗体文件sjt4.frm,该程序是不完整的,请在有?号的地方填入正确内容,然后删除?及所有注释符(即号),但不能修改其他部分。存盘时不得改变文件名和文件夹。 本题描述如下: 在窗体中有一个名为 Image1 的图像框,还有两个命令按钮,名称分别是 C1 和 C2,标题分别是“放大”和“缩小”。要求程序运行后,点击 C1 按钮,则图像框变大;点击 C
5、2 按钮,则图像框变小。程序运行界面如图 12-7 所示。 (分数:40.00)_三、B3 综合应用题/B(总题数:1,分数:30.00)3.注意:下面出现的“考生文件夹”均为 c:/wexam/25160001。 在考生文件夹下有工程文件 sjt5.vbp及窗体文件 sjt5.frm,该程序是不完整的,请在有?号的地方填入正确的程序代码,然后删除?及所有注释符号(即号),但不能修改其他部分。修改后的程序文件都保存,存盘时不得修改文件夹和文件名。 本题描述如下: 在窗体上有一个名称为 Text1 的文本框,三个命令按钮,名称分别是 C1、C2 和 C3,标题分别是“读入”、“加密”和“存盘”。
6、要求程序运行后,点击“读入”按钮,将文本文件 in7.txt(该文件在考生文件夹下)中的文本信息读入文本框 Text1 中;点击“加密”按钮将 Text1 中的英文字母加密转换,并将转换后的结果显示到 Text1 中。转换方式为转换成该字母对应字母表中后两个位置的字母。例如,转换前的字母是“a”,则转换后的是“c”;点击“存盘”按钮,则将转换后的文本框中的文本保存到 out7.txt 文件中(该文件保存到考生文件夹下)。程序设计界面如图 12-8 所示。 (分数:30.00)_二级 VISUAL+BASIC 机试 35 答案解析(总分:100.00,做题时间:90 分钟)一、B1 基本操作题/
7、B(总题数:1,分数:30.00)1.注意:下面出现的“考生文件夹”均为 c:/wexam/25160001。 请根据以下各小题的要求设计 Visual Basic 应用程序(包括界面和代码)。 (1) 在 Form1 的窗体上画一个名称为 Text1 的文本框,然后建立一个主菜单,标题为“操作”,名称为 Op,该菜单有两个子菜单,其标题分别为“显示”和“隐藏”,名称分别为 Dis 和 Hid,编写适当的事件过程。程序运行后,如果单击“操作”菜单中的“显示”命令,则在文本框中显示“计算机考试”;如果单击“隐藏”命令,则隐藏文本框。程序的运行情况如图 12-1 和图 12-2 所示。 注意:存盘
8、时必须存放在考生文件夹下,工程文件名为 sjt1.vbp,窗体文件名为sjt1.frm。程序中不得使用任何变量。 (2) 在窗体上画一个列表框,名称为 L1,通过“属性”窗口向列表框中添加四个项目,分别为“早上好”、“中午好”、“下午好”和“晚上好”,编写适当的事件过程。程序运行后,每次单击列表框中的任何一项,则总在最后面添加一项“真有礼貌”。程序的运行情况如图 12-3 和图 12-4 所示。 注意:存盘时必须存放在考生文件夹下,工程文件名为 sjt2.vbp,窗体文件名为 sjt2.frm。程序中不得使用任何变量。 (分数:30.00)_正确答案:()解析:解析 在窗体上建立好控件后,先设
9、置控件属性,再编写事件过程。菜单在“菜单编辑器”窗口中创建;在程序运行是控件是否可见该控件的 Visible 属性决定,如果将该值设置为 True 时,在对象可见,如果设置为为 False 时,则将隐藏该控件。解题步骤:第一步:建立界面并设置控件属性。程序中用到的控件及其属性见表 12-1。表 12-1 控 件 属 性 设 置 值菜单 名称 标题 Op 操作菜单 名称 标题 Dis 显示菜单 名称 标题 Hid 隐藏文本框 Name Text Text1 计算机考试 第二步:编写程序代码。参考代码:Private Sub Dis_Click()Text1.Text=“计算机考试“End Sub
10、Private Sub Hid_Click()Text1.Visible=FalseEnd Sub第三步:调试并运行程序。第四步:按题目要求存盘。(2) 解析 在窗体上建立好控件后,先设置控件属性,再编写事件过程。在“属性”窗口中,通过 List 属性设置列表项的内容。向列表框中添加文本通过 Additem 方法来实现,其格式为:列表框.Addltem 项目字符串.索引值Addltem 方法把“项目字符串”的文本内容放入“列表框”中。解题步骤:第一步:建立界面并设置控件属性。程序中只用到的控件及其属性见表 12-2。表 12-2 控 件 属 性 设 置 值列表框 Name L1第二步:编写程序
11、代码。参考代码:Private Sub L1_C1ick()L1.AddItem“真有礼貌“End Sub第三步:调试并运行程序。第四步:按题目要求存盘。二、B2 简单应用题/B(总题数:1,分数:40.00)2.注意:下面出现的“考生文件夹”均为 c:/wexam/25160001。 (1) 在考生文件夹下有工程文件sjt3.vbp 及窗体文件 sjt3.frm,该程序是不完整的,请在有?号的地方填入正确内容,然后删除?及所有注释符(即号),但不能修改其他部分。存盘时不得改变文件名和文件夹。 本题描述如下: 在窗口中有一个名称为 Image1 的图像框,一个名称为 Timer1 的计时器,一
12、个名称为 HScroll1 的滚动条,还有一个名称为 C1,标题为“开始”的命令按钮。要求程序运行后,点击开始按钮,则图像框中的图片根据计时器中设定的时间间隔交替变更,如果改变滚动条中滚动框的位置,则图片交替变换的速度也随之变化。程序运行界面如图 12-5 和图 12-6 所示。 (2) 在考生文件夹下有工程文件 sjt4.vbp 及窗体文件sjt4.frm,该程序是不完整的,请在有?号的地方填入正确内容,然后删除?及所有注释符(即号),但不能修改其他部分。存盘时不得改变文件名和文件夹。 本题描述如下: 在窗体中有一个名为 Image1 的图像框,还有两个命令按钮,名称分别是 C1 和 C2,
13、标题分别是“放大”和“缩小”。要求程序运行后,点击 C1 按钮,则图像框变大;点击 C2 按钮,则图像框变小。程序运行界面如图 12-7 所示。 (分数:40.00)_正确答案:()解析:解析 时钟控件作用是以一定的时间间隔激发计时器事件(Timer)而执行相应程序代码,Interval属性决定时间间隔的长短,以毫秒为单位,所以要改变两个图片交替的速度可将滚动框的 Value 值赋值给Interval 属性即可:当时钟控件的 Enabled 属性为 True 时,时钟控件才起作用,当为 False 时该控件不起作用。所以要使开始的时候图片不改变,将 Timer 控件的 Enabled 属性设置
14、为 False,单击命令按钮要使图片开始改变时,将时钟控件的 Enabled 属性设置为 True;程序运行时用 LoadPicture()方法在图形框里装入图形,其格式为:图形框Picture=LoadPicture(图形文件名)。解题步骤:第一步:建立界面并设置控件属性。程序中用到的控件及其属性见表 12-3。表 12-3 控 件 属 性 设 置 值按纽 Name Caption C1 开始图象框 Name Image1计时器 Name Timer1滚动框 Name HScroll1第二步:编写程序代码。程序提供的代码:Private Sub C1_Click()Timer1.Enable
15、d=TrueEnd SubPrivate Sub HScroll1_Change()Timer1.?=1000-HScroll1.?End SubPrivate Sub Timer1_Timer()Static i As IntegerIf i=0 ThenImage1.Picture=?(“2.ico“)i=1ElseImage1.Picture=?(“1.ico“)i=0End IfEnd Sub参考代码:Private Sub C1_Click()Timer1.Enabled=TrueEnd SubPrivate Sub HScroll1_Change()Timer1.Interval=
16、1000-HScroll1.ValueEnd SubPrivate Sub Timer1_Timer()Static i As IntegerIf i=0 ThenImage1.Picture=LoadPicture(“2.ico“)i=1ElseImage1.Picture=LoadPicture(“1.ico“)i=0End IfEnd Sub第三步:调试并运行程序。第四步:按题目要求存盘。(2) 解析 在窗体上建立好控件后,先设置控件属性,再编写事件过程。按钮标题由 Caption 来设置;在“属性”窗口中通过 Picture 属性来设置图像框的图片。控件的大小由Width 属性和 He
17、ight 属性来设置,Width 决定控件的宽,Height 决定控件的高度,可在属性窗口中直接设置,也可在程序运行中用代码来设置。 解题步骤: 第一步:建立界面并设置控件属性。程序中用到的控件及其属性设置见表 12-4。表 12-4 控 件 属 性 设 置 值按钮 Name Caption C1 放大按钮 Name Caption C2 缩小图像框 Name Image1第二步:编写程序代码。程序提供的代码:Private Sub C1_Click()If Image1.Height 3000 Or Image1.Width3000 ThenImage1.Height=Image1.?+50
18、0Image1.Width=Image1.Width+500End IfEnd SubPrivate Sub C2_Click()If Image1.Height1000 Or Imagel.Width1000 ThenImage.Height=Image1.Height-500Image1.Width=Image1.Width ? 500End IfEnd Sub参考代码:Private Sub C1_Click()If Image1.Height3000 Or Image1.Width3000 ThenImage1.Height=Image1.Height+500Image1.Width=
19、Image1.Width+500End IfEnd SubPrivate Sub C2_Click()If Image1.Height1000 Or Image1.Width1000 ThenImage1.Height=Image1.Height-500Image1.Width=Image1.Width-500End IfEnd Sub第三步:调试并运行程序第四步:按题目要求存盘三、B3 综合应用题/B(总题数:1,分数:30.00)3.注意:下面出现的“考生文件夹”均为 c:/wexam/25160001。 在考生文件夹下有工程文件 sjt5.vbp及窗体文件 sjt5.frm,该程序是不完
20、整的,请在有?号的地方填入正确的程序代码,然后删除?及所有注释符号(即号),但不能修改其他部分。修改后的程序文件都保存,存盘时不得修改文件夹和文件名。 本题描述如下: 在窗体上有一个名称为 Text1 的文本框,三个命令按钮,名称分别是 C1、C2 和 C3,标题分别是“读入”、“加密”和“存盘”。要求程序运行后,点击“读入”按钮,将文本文件 in7.txt(该文件在考生文件夹下)中的文本信息读入文本框 Text1 中;点击“加密”按钮将 Text1 中的英文字母加密转换,并将转换后的结果显示到 Text1 中。转换方式为转换成该字母对应字母表中后两个位置的字母。例如,转换前的字母是“a”,则
21、转换后的是“c”;点击“存盘”按钮,则将转换后的文本框中的文本保存到 out7.txt 文件中(该文件保存到考生文件夹下)。程序设计界面如图 12-8 所示。 (分数:30.00)_正确答案:()解析:解析 文本框中显示的内容由 Text 属性设置。单击命令按钮触发 Click 事件,命令按钮的标题由Caption 属性设置。 题目要求加密原理是:在原来字符的 ASCII 码加上一个整数(题目要求为 2)转换为其他的字符,然后再将加密后的字符显示在文本框中。这样就用到了 Chr 函数和 Asc 函数。 Chr 函数返回String,其中包含有与指定的字符代码相关的字符。其语法格式为: Chr(
22、charcode) charcode 必要参数,是一个用来识别某字符的 Long。 Asc 函数返回一个 Integer,代表字符串中首字母的字符代码。其语法格式为: Asc(string) string 必要的参数,可以是任何有效的字符串表达式。解题步骤: 第一步:编写程序代码。 程序提供的代码: Private Sub C1_Click() Dim strinfo As String ? “in7.txt“ For Input As 1 Input #1, strinfo Close #1 Text1.Text=strinfo End Sub Private Sub Command2_Cl
23、ick() 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 As 1 Print #1, ? Close #1 End Sub 参考代码: Private Sub C1_Click() Dim strinfo As Stri
24、ng 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 第二步:调试并运行程序 第三步:按题目要求存盘