属性为2;两个命令按钮名称分别为Cmd1和Cmd2,标题分别为“读入数据”和“计算保存”。要求程序运行后,如果单击“读入数据”按钮,则读入in.txt文件中的100个整数,放入一个数组中(数组下界为1),同时在文本框中显示出来;如果单击“计算保存”按钮,则计算其中前50个数之和,并将求和结果在文本框Text1中显示出来,同时把结果存入考生文件夹中的文件out.txt中(在考生的文件夹下有标准模块mode.bas,其中的putdata过程可以把结果存入指定的文件)。
注意:文件必须存放在考生文件夹下,窗体文件名为kt5.frm,工程文件名为kt5.vbp。 (4)完整的程序代码如下: 'mode.bas代码 Option Explicit
Sub putdata(t_FileName As String, t_Str As Variant) Dim sFile As String sFile = \
Open App.Path & sFile For Output As #1 Print #1, t_Str Close #1 End Sub ‘窗体代码 Option Explicit
Dim i(1 To 100) As Integer Private Sub Cmd1_Click() Dim j As Integer
Open App.Path &\ For j = 1 To 100 Input #1, i(j)
Text1.Text = Text1.Text & i(j) & Space(5) Next
Close #1 End Sub
Private Sub Cmd2_Click() Dim j As Integer Dim temp As Long For j = 1 To 50
temp = temp + i(j) Next
Text1.Text = temp putdata \End Sub
三、综合应用题
在考生文件夹下有一个工程文件kt5.vbp,窗体上有两个图片框,名称为P1、P2,分别用来表示信号灯和汽车,其中在P1中轮流装入“黄灯.ico”、“红灯.ico”、“绿灯.ico”文件来实现信号灯的切换;还有两个计时器Timer1和Timer2,Timer1用于变换信号灯,黄灯1秒,红灯2秒,绿灯3秒;Timer2用于控制汽车向左移动。运行时,信号灯不断变换,单击“开车”按钮后。汽车开始移动,如果移动到信号灯前或信号灯下,遇到红灯或黄灯,则
停止移动,当变为绿灯后再继续移动。 在窗体中已经给出了全部控件和程序,但程序不完整,要求阅读程序并去掉程序中的注释符,把程序中的?改为正确的内容,使其实现上述功能,但不能修改程序中的其他部分,也不能修改控件的属性。最后把修改后的文件以原文件名存盘。 Timer2.Enabled = True b = True End Sub
Private Sub Timer1_Timer() a = a + 1 If a > 6 Then a = 1 End If
Select Case a Case 1
P1.Picture = LoadPicture(\黄灯.ico\ Case 2, 3
P1.Picture = LoadPicture(\红灯.ico\ Case 4, 5, 6
P1.Picture = LoadPicture(\绿灯.ico\ If b Then Timer2.Enabled = True End Select End Sub
Private Sub Timer2_Timer()
If (a < 4) And (P2.Left > P1.Left And P2.Left < P1.Left + P1.Width) Or P2.Left <= 100 Then
Timer2.Enabled = False Else
P2.Move P2.Left - 10, P2.Top, P2.Width, P2.Height End If End Sub
一、基础操作题
下面出现的“考生文件夹”均为c:\\wexam\\20060001。
请根据以下各小题的要求设计Visual Basic应用程序(包括界面和代码)。
1.在名称为Form1的窗体上建立一个名称为Cmd1、宽度为1500、高度为500、标题为“显示”的命令按钮,编写适当的事件过程,要求程序运行后,如果单击“显示”命令按钮,则在窗体上显示“计算机等级考试”。程序中不能使用任何变量,直接显示字符串。
注意:保存时必须存放在考生文件夹下,窗体文件名为kt21.frm,工程文件名为kt21.vbp。 2.在Form1的窗体上画一个命令按钮,名称为Cmd1,标题为“显示”,按钮不可见。编写适当的事件过程,程序运行后,如果单击窗体,则命令按钮出现;此时如果单击命令按钮,则在窗体上显示“计算机等级考试”,且命令按钮变为无效。
一、基本操作题答案 1.【解题步骤】
(1)建立界面并设置控件属性。程序中用到的控件及其属性见表4-28。 表4-28
控 件 属 性 设置值 按钮 Name Cmd1 Height 500 Width 1500 Caption 显示
(2)编写程序代码。 参考代码:
Private Sub Cmd1_Click() Print \计算机等级考试\End Sub
(3)调试并运行程序。 (4)按题目要求存盘。 2.【解析步骤】
(1)Form_Click()将Cmd1.Visible 设置为True,以便命令按钮可见? Private Sub Form_Click() Cmd1.Visible = True End Sub
(2)Cmd1_Click()事件输出字符串,同时使按钮无效。 Private Sub Cmd1_Click()
Form1.Print \计算机等级考试\ Cmd1.Enabled = False End Sub
(3)运行验证程序功能。 (4)正确保存程序。 二、简单应用题
1.在名称为Form1的窗体上建立两个主菜单,其标题分别为“文件”和“帮助”,名称分别为File和Help,“文件”菜单下有三个子菜单项,分别为“打开”、“保存”和“退出”(其名称分别为Open、Save和Exit)。要求程序运行后,如果选择“文件”下的某个菜单项,则通过MsgBox对话框显示该菜单项的标题及“确定”按钮。
注意:保存时必须存放在考生文件夹下,窗体文件名为kt23.frm,工程文件名为kt23.vbp。 2.在考生文件夹中有工程文件kt24.vbp及其窗体文件kt24.frm,该程序是不完整的,请在有“?”的地方填入正确内容,然后删除“?”及所有注释符(即“'”号),但不能修改其他部分。保存时不得改变文件名和文件夹。 本题内容如下:
在窗体上有两个控制按钮与一个已经画好的简易钟表(由线段与图形构成),控制按钮的标题分别是“开始”和“停止”。请考生在窗体上设置一个计时器,每隔一秒,时钟转动6度。如果单击“停止”按钮,时钟停止转动。
二、简单应用题答案
1.【解析步骤】
(1)编制“文件”菜单的相应菜单处理程序。 Private Sub Exit_Click() MsgBox (\退出\End Sub
Private Sub Open_Click() MsgBox (\打开\End Sub
Private Sub Save_Click() MsgBox (\保存\End Sub
(2)运行程序,验证各项菜单的功能。 (3)正确保存程序。
注意:题目没有对“帮助”菜单进行要求,所以只需要设计这个菜单即可。 2.【解析步骤】
(1)在窗体上添加“时钟”控件。 (2)设置时钟的属性,见表4-29。 表4-29
控 件 控件名 属性名 属性值 时钟 Timer1 Interval 1000 Enabled False 命令铵钮 Command1 Caption 开始 命令按钮 Command2 Caption 停止 (3)打开代码窗口,得到如下代码: Dim lenth As Integer, q As Integer Const PI = 3.14159 Private Sub Command1_Click() 'Timer1.? = True End Sub
Private Sub Command2_Click() 'Timer1.Enabled = ? End Sub
Private Sub Form_Load()
lenth = Line1.Y2 - Line1.Y1 q = 90 End Sub
Private Sub Timer1_Timer() q = q - 6
Line1.Y1 = Line1.Y2 - lenth * Sin(q * PI / 180) Line1.X1 = Line1.X2 + lenth * Cos(q * PI / 180) End Sub
(4)该题共有两处需要填写代码,分析代码,填入正确语句。 这道题以下两句代码互为提示:
'Timer1.? = True 'Timer1.Enabled = ?
显然,正确的语句分别为: Timer1.Enabled = True Timer1.Enabled = False (5)完整的程序如下:
Dim lenth As Integer, q As Integer Const PI = 3.14159
Private Sub Command1_Click() Timer1.Enabled = True End Sub
Private Sub Command2_Click() Timer1.Enabled = False End Sub
Private Sub Form_Load()
lenth = Line1.Y2 - Line1.Y1 q = 90 End Sub
Private Sub Timer1_Timer() q = q - 6
Line1.Y1 = Line1.Y2 - lenth * Sin(q * PI / 180) Line1.X1 = Line1.X2 + lenth * Cos(q * PI / 180) End Sub
(6)运行程序验证功能。 (7)正确地保存程序。 三、综合应用题
在考生文件夹中有一个工程文件kt5.vbp,Form1窗体中有三个文本框、两个命令按钮和一个计时器。程序的功能是:单击“开始计数”按钮,就开始计数,每隔一秒,文本框中的数加1,其中文本框Text1计数时间为1秒;计时完毕,Text2开始计数,其计数时间为2秒;Text2计数完毕,Text3开始计数,其计数时间为3秒。Text3计数完毕,Text1又开始计数,进入下一个循环。单击“停止计数”按钮,则停止计数。 要求:修改适当的控件的属性,删除程序中的注释符即(“'”),把程序中的“?”改为正确内容,使其实现上述功能,但不能修改程序中的其他部分。最后把修改后的文件以原来的文件名保存。
三、综合应用题答案 【解析步骤】
(1)打开代码窗口,共有5处需要填写。 Private Sub Cmd1_Click(Index As Integer) 'Select Case ? Case 1
'Timer1.? = False Case 0
'Timer1.? = True End Select