1、VB 机试模拟试卷 12 及答案与解析 一、基本操作题( 30分) 1 注意:下面出现的 “考生文件夹 ”均为 c: wexam25160001。 请根据以下各小题的要求设计 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,窗体文件名为sjt2.frm。程序中不得使用任何变量。
3、二、简单应用题( 40分) 2 注意:下面出现的 “考生文件夹 ”均为 c: wexam25160001。 (1) 在考生文件夹下有工程文件 sjt3.vbp及窗体文件 sjt3.frm,该程序是不完整的,请在有 ?号的地方填入正确内容,然后删除 ?及所有注释符 (即 号 ),但不能修改其他部分。存盘时不得改变文件名和文件夹。如图 14-3所示。 本题描述如下:在名称为 Form1,标题为“调用系统对话框 ”的窗体上有一个文本框和六个命令 按钮及一个通用对话框,通过CommonDialog实现对系统一些对话框的调用。请将 “打开 ”按钮的功能补充完整,并限制打开的类型为可执行文件 (*.com
4、和 *.exe),默认打开文件类型为 .exe文件。 (2) 在考生文件夹下有工程文件 jft4.vbp及窗体文件 jft4.frm,该程序是不完整的,请在有 ?号的地方填入正确内容,然后删除 ?及所有注释符 (即 号 ),但不能修改其他部分。存盘时不得改变文件名和文件夹。 本题描述如下:在窗体上有一个名为 P1的图片框,有一个名为 C1,标题为 “输入参数 ”的命令按钮,有两个单选 按钮,名称分别是 Op1和 Op2,标题分别是 “画圆环 ”和 “画方框 ”。要求程序运行后,选中两个单选按钮中的一个,再点击命令按钮 C1,在弹出的输入对话框中输入相应的参数值,则在图片框上画出相应的图形。程序
5、运行界面如图 14-4所示。三、综合应用题( 30分) 3 注意:下面出现的 “考生文件夹 ”均为 c: wexam25160001。 在考生文件夹下有工程文件 sjt5.vbp及窗体文件 sjt5.frm,该程序是不完整的,请在有 ?号的地方填入正确内容,然后删除 ?及所有注释符 (即 号 ),但不能修改其他部分。存盘时不 得改变文件名和文件夹,相应的 dat文件也保存到考生文件夹下,否则没有成绩。 本题描述如下:在名称为 Form1的窗体上有五个 Labe1控件和两个命令按钮,数据文件 stud1.dat存放考生的考号、姓名、成绩。自定义一个数据类型 stu,字符型数据定长为 10;按 “
6、开始 ”按钮后,能从考生文件夹下的 stud1.dat中读出所有数据并写入考生文件夹下的 stud.dat文件中;执行完毕, “开始 ”按钮变成 “完成 ”,且无效 (变灰 )。程序运行界面如图 13-6所示。 VB 机试模拟试卷 12 答案与解析 一、基本操作题( 30分 ) 1 【正确答案】 在窗体上建立好控件后,先设置控件属性,再编写事件过程。 菜单在 “菜单编辑器 ”窗口中创建;在程序运行是控件是否可见该控件的 Visible属性决定,如果将该值设置为 True时,在对象可见,如果设置为为 False 时,则将隐藏该控件。解题步骤: 第一步:建立界面并设置控件属性。程序中用到的控件及其
7、属性见表 12-1。 第二步:编写程序代码。 参考代码: Private Sub Dis_Click() Text1.Text=“计算机考试 “ End Sub Private Sub Hid_Click() Text1.Visible=False End Sub 第三步:调试并运行程序。 第四步:按题目要求存盘。 (2)在窗体上建立好控件后,先设置控件属性,再编写事件过程。 在 “属性 ”窗口中,通过 List属性设置列表项的内容。向列表框中添加文本通过 Additem方法来实现,其格式为:列表框 .Addltem项目字符串 .索引值 Addltem方法把 “项目字符串 ”的文本内容放入 “
8、列表框 ”中。解题步骤: 第一步:建立界面并设置控件属性。程序中只 用到的控件及其属性见表 12-2。第二步:编写程序代码。 参考代码: Private Sub L1_C1ick() L1.AddItem“真有礼貌 “ End Sub 第三步:调试并运行程序。 第四步:按题目要求存盘。 二、简单应用题( 40分) 2 【正确答案】 解题步骤: 第一步:编写程序代码。 程序提供的代码: Option Explicit Private Sub Commandl_Click() Dim i As Integer CommonDialog1.CancelError=True On Error GoTo
9、 Cancel CommonDialog1.Action=5 For i=1 To CommonDialog1.Copies PrintForm Next i Cancel: End Sub Private Sub Command2_Click() CommonDialog1.CancelError=True On Error GoTo Cancel CommonDialog1.HelpCommand=&HB CommonDialog1.HelpFile=“C:windowshelpwindows.hlp“ CommonDialog1.Action=6 Cancel: End Sub Priv
10、ate Sub Command3_Click() CommonDialog1.CancelError=True On Error GoTo Cancel CommonDialog1.Action=3 Text1.ForeColor=CommonDialog1.Color Cancel: End Sub Private Sub Command4_Click() CommonDialog1.Flags=&H3& Or &H1& Or &H2& CommonDialog1.CancelError=True On Error GoTo Cancel CommonDialog1.Action=4 Tex
11、t1.FontBold=CommonDialog1.FontBold Text1.FontItalic=CommonDialog1.FontItalic Text1.FontStrikethru=CommonDialog1.FontStrikethru Text1.FontName=CommonDialog1.FontName Text1.FontSize=CommonDialog1.FontSize Cancel: End Sub Private Sub Command5_Click() End End Sub Private Sub Command6_Click() CommonDialo
12、g1.CancelError=True On Error GoTo Cancel CommonDialog1.Filter=“(可执行文件 *.exe) *.exe|?| (可执行文件 *.com) *.com|?“ CommonDialog1.FilterIndex=? CommonDialog1.Action=? Shell CommonDialog1.filename, ? Cancel: End Sub 参考代码: Option Explicit Private Sub Command1_Click() Dim i As Integer CommonDialog1.CancelErro
13、r=True On Error GoTo Cancel CommonDialog1.Action=5 For i=1 To CommonDialog1.Copies PrintForm Next i Cancel: End Sub Private Sub Command2_Click() CommonDialog1.CancelError=True On Error GoTo Cancel CommonDialogl.HelpCommand=&HB CommonDialogl.HelpFile=“C:windowshelpwindows.hlp“ CommonDialogl.Action=6
14、Cancel: End Sub Private Sub Command3_Click() CommonDialog1.CancelError=True On Error GoTo Cancel CommonDialog1.Action=3 Text1.ForeColor=CommonDialog1.Color Cancel: End Sub Private Sub Command4_Click() CommonDialog1.Flags=&H3& Or &H1& Or &H2& CommonDialog1.CancelError=True On Error GoTo Cancel Common
15、Dialog1.Action=4 Text1.FontBold=CommonDialog1.FontBold Text1.FontItalic=CommonDialog1.FontItalic Text1.FontStrikethru=CommonDialog1.FontStrikethru Text1.FontName=CommonDialog1.FontName Text1.FontSize=CommonDialog1.FontSize Cancel: End Sub Private Sub Command5_Click() End End Sub Private Sub Command6
16、_Click() CommonDialog1.CancelError=True On Error GoTo Cancel CommonDialog1.Filter=_ “(可执行文件 *.exe) *.exe|*.exe| (可执行文件 *.com) *.com|*.com“ CommonDialog1.FilterIndex=0 CommonDialog1.Action=1 Shell CommonDialog1.FileName,1 Cancel: End Sub 第二步:调试并运行程序。 第三步:按题目要求存盘。 (2)程序中用到了 Circle方法、 Line方法和 InputBox函
17、数。 Circle方法在对象上画圆、椭圆或弧。 语法: Object.CircleStep(x,y),radius,color,start,end,aspect Line方法在对象上画直线和矩形。 语法: object.LineStep(x1, 1)Step(x2,y2), color,BF InputBox函数在一个对话框中显示提示,等待用户输入正文或按下按钮,并返回包含文本框内容的 String。 语法: InputBox(prompt,rifledefault,xpos,ypos,helpfile,context)解题步骤: 第一步:编写程序代码。 程序提供的代码: Private Su
18、b C1_Click() Dim a As Single Dim b As Single Dim t As Single On Error Resume Next If Op1.Value=True Then a=InputBox (“输入圆环的内径 (输入值必须大于 0且小于 800) “, _ “输入参数 “,100) b=InputBox (“输入圆环的外径 (输入值必须大于 0且小于 900) “, _ “输入参数 “,200) If a b Then t=? a=b b=t End If P1.Cls P1.FillStyle=? P1.FillColor=vbBlack Pi.Ci
19、rcle (1500,1000), ? P1.FillColor=vbButtonFace P1.Circle (1500,1000), a End If If Op2.Value=True Then a=InputBox (“输入方框的长度 (输入值必须大于 0且小于 3000) “, _ “输入参数 “,100) b=InputBox(“输入方框的宽度 (输入值必须大大于 0且小于 1800) “, _ “输入参数 “,200) P1.Cls P1.Line (100, 100)-(100+a, 100+b) , , ?F End If End Sub 参考代 码: Private Sub
20、 C1_Click() Dim a As Single Dim b As Single Dim t As Single On Error Resume Next If Op1.Value=True Then a=InputBox (“输入圆环的内径 (输入值必须大于 0且小于 800) “, _ “输入参数 “,100) b=InputBox (“输入圆环的外径 (输入值必须大于 0且小于 900) “, _ “输入参数 “,200) If a b Then t=a a=b b=t End If P1.Cls P1.FillStyle=0 P1.FillColor=vbBlack P1.Cir
21、cle (1500, 1000) , b P1.FillColor=vbButtonFace Pi.Circle (1500, 1000) , a End If If Op2.Value=True Then a=InputBox (“输入方框的长度 (输入值必须大于 0且小于 3000) “, _ “输入参数 “,100) b=InputBox (“输入方框的宽度 (输入值必须大于 0且小于 1800) “, _ “输入参数 “, 200) P1.Cls P1.Line (100, 100)-(100+a, 100+b) , , BF End If End Sub 第二步:调试并运行程序。 第
22、三步:按题目要求存盘。 三、综合应用题( 30分) 3 【正确答案】 单击按 钮触发其 Click事件,标题由 Caption属性设置;标签的标题也是由 Caption属性设置;文件的操作一般按照如下步骤进行:打开或建立文件、进行读或写操作、关闭文件。 自定义数据类型通过 Type语句来实现,形式如下: Type 自定义类型名 元素名 (下标 )As类型名 元素名 (下标 )As类型名 End Type 对于字符串变量类型,根据其存放的字符串长度是否固定,其定义方法有两种: Dim 字符串变量名 As String Dim 字符串变量名 As String*字符数 程序中用到了 App对象的
23、Path属性。 Path属性返回或设置当前路径,在设计时是不可用的,对于 App对象,在运行时是只读的。解题步骤: 第一步:编写程序代码。 程序提供的代码: Private Type stu num As Long nam As String ? score As Single End Private Sub COMEXIT_Click() End End Sub Private Sub COMSTART_Click() Dim rec As Dim i As Integer myfile1=App. Path & “ & ? myfile2=App. Path & “ & ? Open my
24、filel For Input As #1 Open myfile2 For Output As #2 For i=1 To 8 Input ?, rec.num, rec.nam, rec.score Write ?, rec.num, rec.nam, rec.scbre Next i Close COMSTART.Caption=? COMSTART.Enabled=? End Sub 参考代码: Private Type stu num As Long nam As String * 10 score As Single End Type Private Sub COMEXIT_Cli
25、ck() End End Sub Private Sub COMSTART_Click() Dim rec As stu Dim i As Integer myfile1=App.Path & “ & “stud1.dat“ myfile2=App.Path & “ & “stud.dat“ Open myfile1 For Input As #1 Open myfile2 For Output As #2 For i=1 To 8 Input #1, rec.num, rec.nam, rec.score Write #2, rec.num, rec.nam, rec.score Next i Close COMSTART.Caption=“完成 “ COMSTART.Enabled=False End Sub 第二步:调试并运行程序。 第三步:按题目要求存盘。