全国计算机等级考试二级VB上机试题及答案(十一)
基本操作(2小题,每题15分,共30分)
**************************************************************** 请根据以下各小题的要求设计VB应用程序(包括界面和代码)。
请根据以下各个小题的要求设计Visual Basic应用程序(包括界面和代码)。
(1)在名称为Form1的窗体上画一个列表框,其名称为List1,通过属性窗口向列表框中输入9个项目,分别为10、20、30、40、50、60、70、80、90;画一个文本框,其名称为Hscroll,Min属性和Max分别为0和100,如图所示,编写适当的事件过程。程序运行后,如果单击列表框中的某个项目内容,并把滚动条的滚动框移动到相应的位置,如图所示。
要求:不得使用任何变量。
(2)在名称为Form1的窗体中画一个图像框,名称为Image1,其高、宽分别为1800、4500,通过属性窗口把考生文件夹下的图像文件smile.bmp装入图像框;再画一个命令按钮,名称为Cmd1,标题为\放大\。
请编写适当事件过程,程序运行后,单击\放大\按钮,则把图像框的高度、宽度均增加100,同时图像也随之自动放大。 注意:程序中不得使用任何变量。
程序运行时的界面如图所示。
****************************************************************
参考答案与分析
(1)【解析】
滚动条的属性设置:Min--最大值属性。默认值为32767;Max--最小值属性,默认值为0;Value--返回或设置滚动条的当前位置的值,返回直介于Max 和Man属性之间的值,包括这两个值。
要实现滚动条的返回值与List的设置值同步变化,在两者之间建立等式关系即可。而Text属性对应的变量类型为字符串,所以这里用了一个转化函数Val()来实现。Val(S)函数将字符串转化为数值。与之对应的将数值转化为字符串的函数Str(N)。 【答案】
第一步:启动VB,新建一个工程文件。
第二步:在窗体上画一个文本框,文本框的Name属性为Text1,Text属性空,再在窗体上画一个水平滚动条Max为100,Min为0,Name为HScroll1,再画一个列表框List1,在List属性中输入\、20、30、40、50、60、70、80、90\。 第三步:编写程序代码:
1 Private Sub List1_Click() 2 Text1.Text = List1.Text
3 HScroll1.Value = Val(List1.Text) 4 End Sub
第四步:调试并运行程序,运行正确后按要求保存。 (2)【解析】
本题主要考查了图像框的Stretch属性以及控制其大小的Height、Width属性。Height、Width属性与其它控件类似,设置相应的值即可动态的改变图像框的大小,例如题目要求单击\放大\按钮要使得图像框的宽度和高度均增加100,故在Cmd1 的Click事件中改变Image的Height和Width,在原先的基础上加上100。 另外,题目中要求固定图片框的大小,即不能由于图片的大小而改变图片框的大小,而且改变图像框的大小后,其中加载的图片也要自动改变大小,所以必须将Image的Stretch属性设置为True。
【答案】
第一步:启动VB,新建一个工程文件。 第二步:在窗体中画一个图像框,名称为Image1,设置Height属性1800,Width属性1500,Stretch 属性为True,在Picture属性中装入文件夹下的图像文件smile.bmp,再画一个命令按钮,Name属性为Cmd1,Caption属性为\放大\。 第三步:编辑代码:
1 Private Sub Cmd1_Click()
2 Image1.Height = Image1.Height + 100 3 Image1.Width = Image1.Width + 100 4 End Sub
第四步:调试并运行程序,运行正确后按要求保存。
简单操作(2小题,每题20分,共40分)
**************************************************************** 请根据以下各小题的要求设计VB应用程序(包括界面和代码)。 (1)在考生文件夹下有一个工程文件stj3.vbp,及其窗体文件stj3.frm,程序运行时,如果用鼠标左键按住窗体,并在其上移动,则窗体上显示\您按下了鼠标的左键\;如果用鼠标的右键按住窗体,并在其上移动,则显示\您按下了鼠标的右键\。 程序运行时的窗体界面如图所示。
要求:题目中所给的程序不完整,请读懂程序后将其补充完整,以原文件名保存。 试题源程序:
1 Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
2 'If Button = ? Then Print \您按下了鼠标的左键\3 'If Button = ? Then Print \您按下了鼠标的右键\4 End Sub
(2)在考生文件夹下有一个工程文件stj4.vbp,及其窗体文件stj4.frm,窗体上有一个标签和一个文本框,控件及其属性均已设置完毕,现使用KeyPress事件编写一个口令程序,程序运行后,在文本框中输入口令,如果正确,则显示相应的信息,单击\确定\按钮后,将显示一行信息;如果口令不正确,则要求重新输入。3次输入的口令都不正确,则停止输入,并结束程序。程序运行的画面如图所示。
要求:题目中所给的程序不完整,请读懂程序后将其补充完整,以原文件名保存。 试题源程序:
1 Private Sub Form_Load() 2 Text1.Text = \3 Text1.FontSize = 10 4 Label1.FontSize = 12 5 Label1.FontBold = True 6 Label1.Font0 = \隶书\
7 Label1.Caption = \请输入口令...\8 End Sub
9 Private Sub Text1_KeyPress(KeyAscii As Integer) 10 Static PWord As String 11 Static Counter As Integer
12 Static Numberftries As Integer 13 Numberftries = Numberftries + 1 14 'If ? Then End
15 Counter = Counter + 1 16 'PWord = PWord + ? 17 KeyAscii = 0
18 Text1.Text = String$(Counter, \19 If LCase$(PWord) = \20 Text1.Text = \21 PWord = 0
22 MsgBox \口令正确,继续...\23 Counter = 0
24 Print \25 'ElseIf ?Then 26 Counter = 0 27 PWord = \
28 Text1.Text = \
29 MsgBox \口令不对,请重新输入\30 End If 31 End Sub
****************************************************************
参考答案与分析
(1)【解析】
本题主要考查了鼠标左键以及右键的使用,即鼠标的Button属性。Button为1时,表示鼠标的左键,为2时,表示鼠标的右键,为4时,表示鼠标的中键,故在第一个?处填入1,表示按下鼠标的左键,第二个?处填入2,表示鼠标的右键。 【答案】
(1)启动VB,打开考生文件夹下的工程文件stj2.vbp。
(2)双击窗体的任何位置,进入代码编辑窗口,补充程序如下: 第一个?处填入1 第二个?处填入2
(3)运行程序,确定无误后以原文件名保存。 (2)【解析】
本题主要考查了文本框的KeyPress事件。每按下键盘的一个键就触发一次
KeyPress事件。在本题中用文本框的KeyPress事件来测试输入口令是否正确。在该过程中,定义了3个静态变量,其中Numberftries变量用来对输入的口令字符计数。每按一次键,就触发一次KeyPress事件,Numberftries变量加1,当该值达到12时结束程序,因此第一个问号处应填入Numberftries = 12。口令由四个字符组成,既由每次输入的字符连接起来组成,因此第二个问号处应填入Chr$(KeyAscii),用Counter来表示输入口令长度,每输入四个为一个完整的口令,因此第三个问号处应填入Counter = 4。 【答案】
(1)启动VB,打开考生文件夹下的工程文件stj4.vbp。 (2)双击窗体的任何位置,进入代码编辑窗口,填写代码: 第一个?处填入:Numberftries = 12 第二个?处填入:Chr$(KeyAscii) 第三个?处填入:Counter = 4
(3)填写完毕,调试并运行,运行无误后以原文件名保存。
综合应用(1小题,共30分)
**************************************************************** 请根据以下各小题的要求设计VB应用程序(包括界面和代码)。 在考生文件夹下有工程文件djks043.vbp及窗体文件djks043.frm,该程序是不完整的,请在有?的地方填入正确内容,然后删除?及所有注释符(′),但不能修改其他部分。存盘时不得改变文件名和文件夹。
本题描述如下:在窗体上有两个标签、两个文本框、一个框架、三个单选框以及两个控制按钮。标签的名称分别为Label1与Label2,标题分别为\原文本\、\加密文本\;文本框的名称分别为Text1与Text2,Text属性均为空;两个控制按钮的名称分别为Command1与Command2,标题分别为\加密\与\读入\;单选框的名称统一为Option1,标题分别为2、4、6;框架名称为Frame1,标题为\加密类型\。单击\读入\按钮,程序将读入考生文件夹下的文本文件in043.txt,单击\加密\按钮,加密过的文本显示在Text2中。根据单选框中不同的数字,加密的方法不同。例如选择Option1,则逐一把Text1中的字符串改为它后面的第2个字母。 程序运行时的窗体界面如图所示。