1、典型例题解析(2)一、填空题1以顺序输入模式打开“c:source1.txt”文件的命令是 (1) ;以输出方式打开“c:source2.txt”文件的命令是 (2) 。分析:Print # 语句用于将把数据写入文件中。Print 语句格式为:Open 文件名 For 模式 As # 文件号 “For 模式”为指定打开文件的模式是数据的输入模式还是输出模式。结论:答案应为:(1)Open “c:source1.txt“ For Input As #1 (2)Open “c:source2.txt“ For Output As #22.在 Visual Basic中,文件系统控件包括 (1) 、
2、 (2) 和文件列表框(FileListBox) 。三者协同操作可以访问任意位置的目录和文件,可以进行文件系统的人机交互管理。分析:在 Visual Basic中,文件系统控件包括驱动器列表框(DriveListBox) 、目录列表框(DirListBox)和文件列表框(FileListBox) 。驱动器列表框可以选择或设置一个驱动器,目录列表框可以查找或设置指定驱动器中的目录,文件列表框可以查找指定驱动器指定目录中文件信息,三者协同操作可以访问任意位置的目录和文件,可以进行文件系统的人机交互管理。结论:答案应为:(1)驱动器列表框(DriveListBox) (2)目录列表框(DirList
3、Box)3每次重新设置驱动器列表框的 Drive属性时,都将引发 (1) 事件。可在该事件过程中编写代码修改目录列表框的路径,使目录列表框内容随之发生改变。分析:在 Visual Basic中,每次重新设置驱动器列表框的 Drive属性时,都将引发Change事件。可在 Change事件过程中编写代码修改目录列表框的路径,使目录列表框内容随之发生改变。驱动器列表框的默认名称为 Drive1,其 Change事件过程的开头为Drive1_Change()。结论:答案应为:(1)Change4目录列表框用来显示当前驱动器下目录结构。刚建立时显示 (1) 的顶层目录和当前目录,如果要显示其他驱动器上
4、的目录信息,必须改变路径,即重新设置目录列表框的 (2) 属性。分析:在 Visual Basic中,目录列表框用来显示当前驱动器下目录结构。刚建立时显示当前驱动器的顶层目录和当前目录,如果要显示其他驱动器上的目录,必须改变路径,即重新设置目录列表框的 Path属性。结论:答案应为:(1)当前驱动器(2)Path5对驱动器列表框来说,每次重新设置驱动器列表框的 (1) 属性时,将引发Change事件;对目录列表框来说,当 (2) 属性值改变时,将引发 Change事件;对于文件列表框,重新设置的 (3) 属性,将引发 Change事件。分析:在 Visual Basic中,对驱动器列表框来说,
5、每次重新设置驱动器列表框的 Drive属性时,将引发 Change事件;对于目录列表框和文件列表框改变路径,即重新设置列表框的Path属性,将引发 Change事件。结论:答案应为:(1)Drive(2)Path(3)Path6以下程序段简要说明驱动器列表框、目录列表框及文件列表框三者协同工作的情况。将程序段补充完整。Private Sub Drive1_Change()(1) End SubPrivate Sub Dir1_Change()(2) End Sub分析:首先设置目录列表路径随驱动器列表路径改变而改变:每当改变驱动器列表框的 Drive属性时,将产生驱动器列表框的 Change事
6、件,执行 Drive1_Change事件过程,使驱动器列表框和目录列表框同步,即将目录列表框中的目录(Dir1.Path 属性)变为该驱动器的目录(Drive1.Drive 属性) 。然后,设置文件列表路径随目录列表路径改变而改变:当目录列表框 Path属性的改变时,将产生目录列表框的 Change事件,执行 Dir1_Change事件过程,使目录列表框和文件列表框同步,即在文件列表框(File1.Path 属性)中显示目录驱动器所指目录下的文件信息(Dir1.Path 属性) 。这样三个文件系统控件就协同工作了。结论:答案应为:(1)Dir1.Path=Drive1.Drive(2)File
7、1.Path=Dir1.Path7.为了在运行时把当前路径下的图形文件 picturefile.jpg装入图片框 Picture1,所使用的语句为 (1) 。分析:可以使用 LoadPicture语句,必须先确定图片的位置,在本例中路径为当前路径可以采用默认路径;也可以在 Picture1的 Picture属性中直接设置打开文件对话框,在对话框中选择图片进行设置。结论:答案应为:Picture1. Picture = LoadPrcture(“picturefile.jpg”)8.窗体 Form1 的左上角坐标为(0,600)窗体 Form1 的右下角坐标为(800,-200 ) 。X 轴的正
8、向向 (1) ,Y 轴的正向向 (2 ) 。分析:窗体右下角坐标为负值,说明 Y 轴的正向向上。结论:答案应为:(1)右 (2)上9.执行指令“Line(200,200,)-Step(500,500,)“ 后,CurrentX 。分析:语句中 Step(500,500)的意思是相对于当前点(200 ,200)的坐标,则当前坐标 CurrentX700。结论:答案应为 70010.执行指令“Line(200,200,)-(500,500,)“后,CurrentX 。分析:语句中 (500,500)即为当前点坐标, CurrentX500。结论:答案应为 50011.要使图像框能够自动调整大小以适
9、应其中的图形,应将图像框 属性设置为 。分析:Stretch 属性设置为 False 时,图像框可自动改变大小以适应其中的图形,设置为 True 时,加载到图像框的图形可自动调整尺寸以适应图像框的大小。结论:答案应为(1)Stretch (2)False12.ADO 模型中一般可通过 Connection对象的 (1) 方法执行增加、删除、修改操作。使用 ADO模型时,建立 Recordset和 Connection对象连接的属性是 (2) 。分析:应记住结论:Execute ActiveConnection13.Winsock 控件主要用来编制 TCP/IP或 协议的通讯协议。分析:应记住结
10、论:UDP14.VB 中设置断点的按键是 ,逐语句调试的语句是 。结论:答案应为 F9 F815. On Error Resume Next 语句表示:当发生错误时, VB 程序将忽略引发错误的语句,并 。结论:继续执行下一条语句。二、选择题1.( )函数判断文件指针是否到了文件结束标志;( )函数返回文件的字节数;( )语句用于设置对文件“锁定” ;( )语句用于设置对文件“解锁” 。AEOF、LOF、Lock、Unlock BLOF、EOF、Lock、UnlockCEOF、LOF、Unlock、Lock DLOF、EOF、Unlock、Lock 分析:EOF 函数判断文件指针是否到了文件结
11、束标志;LOF 函数返回文件的字节数;Lock语句用于设置对文件“锁定” ;Unlock 语句用于设置对文件“解锁” 。结论:答案应选 A。2顺序文件的读操作通过下列( )语句可以实现。AInput #和 Read# BRead#和 Get#CGet#和 Input # DLineInput #和 Input #分析:Input#语句和 LineInput#语句实现顺序文件的对数据的读操作;随机文件的读操作通过 Get语句来实现;VB 中无 Read语句。结论:答案应选 D。3如果准备读文件,打开顺序文件“text.dat“的正确语句是( )AOpen“text.dat“For Write A
12、s #1 BOpen “text.dat“ For Input As #1COpen “text.dat“ For Binary As #1 DOpen “text.dat“ For Random As #1分析:以读方式打开顺序文件的语法格式为:Open For Input As # 。上述选项只有 B满足条件。结论:答案应为 B4.如果准备向随机文件中写入数据,正确的语句是( )APrint #1, rec BWrite #1, recCPut #1, , rec DGet #1, , rec分析:随机文件写操作的语法格式为:Put#,记录号,上述 C选项是正确的。结论:答案应为 C5.当
13、改变驱动器列表框中的驱动器时,为了使目录列表框中的内容同步跟着改变,应当( )A在 Dir1_Change()事件中加入代码 Dir1.Path=Drive1.Drive B在 Dir1_Channge()事件中加入代码 Drive1.Drive =Dir1.Path C在 Dirve1_Channge()事件中加入代码 Dir1.Path=Drive1.DriveD在 Dirve1_Channge()事件中加入代码 Drive1.Drive =Dir1.Path 分析:当改变驱动器列表框 Drive1中的驱动器时,就会触发 channge事件,执行Drive1_Change()过程,在过程执
14、行时,要使目录列表框同步显示选定的驱动器目录结构,应将刚选定的驱动器目录结构赋给目录列表框(Dir1)的 Path属性。应选 C结论:答案应为 C6.目录列表框 Path属性的作用是( )A显示当前驱动器或指定驱动器上的目录结构 B显示当前驱动器或指定驱动器上的某目录下的文件 C显示根目录下的文件名D显示路径下的文件分析:目录列表框 Path属性的作用是显示当前驱动器或指定驱动器上的目录结构。结论:答案应为 A7.在下列选项中,不能将图像装入图片框和图像框的是( )A在界面设计时,通过 Picture属性装入B在界面设计时,手工在图像框和图片框中绘制图形C在界面设计时,利用剪贴板把图像粘贴上D
15、在程序运行期间,用 LoadPicture函数把图形文件装入分析:在设计时,将图像添加到图片框和图像框中有两种方法:即使用对象的Picture 属性添加图片;使用剪贴板,将图形粘贴到对象中。在程序运行时添加图片通常也有两种方法,使用 LoadPicture 函数加载图形文件,使用 Picture 属性在对象间相互复制。在界面设计时和程序运行期间,均不能手工在图像框和图片框中绘制图形。所以上述选项中,B 是错误的。结论:答案应为 B8.下面错误的语句是( )ALine (200, 200)-(400, 400), RGB(255, 0, 0)BLine (200, 200)-(400, 400)
16、, , BCLine (200, 200)-(400, 400), , FDCircle (600, 600), 300, RGB(255, 0, 0)分析:Line 方法可以画直线和矩形,Line 方法的语法格式为:对象.LineStep (X1,Y1)- Step X2,Y2) ,Color,BF。A 选项画一条红色直线。B 选项中的 B代表画一个矩形,左上角坐标为(200,200) ,右下脚坐标为(400,400) 。C 选项中的 F表示矩形的填充颜色,它必须和 B同时存在。D 选项是画一个圆心为(600,600) ,半径为 300的红色圆。结论:答案应为 C9下面选项中,能绘制填充矩形
17、的语句是( ) ALine (200, 200)-(500, 500),BBLine (200, 200)-(500, 500), , BFCLine (200, 200)-(500, 500), BFDLine (200, 200)-(500, 500)分析:Line 方法语句中可以省略中间参数,但逗号必须保留。A 选项中的 B之前少一个逗号,只能画一条直线。B 选项语法正确,能画一个默认颜色为黑色的填充矩形。C 选项中 BF之前少一个逗号,只能画一条直线。D 选项画一条直线。结论:答案应为 B10.下面选项中,能绘制一条水平直线的选项是( ) ALine (1000, 2000)-(100
18、0, 2000)BLine (1000, 2000)-(1000, 3000)CLine (1000, 2000)-(2000, 2000)DLine (1000, 2000)-(2000, 3000)分析:要绘制一条水平直线,直线两个端点的 Y 坐标应该相同,只有 C 满足这个条件。结论:答案应为 C11. 下面选项中,能绘制椭圆的语句是( )ACircle (1000, 1000),500,RGB(255,0,0),0.5BCircle (1000, 1000),500,RGB(255,0,0),0.5CCircle (1000, 1000),500,RGB(255,0,0),0.5DCi
19、rcle (1000, 1000),500,RGB(255,0,0),0.5分析:Circle 方法的语法格式为:对象.CircleStep(X,Y),radius,color,start,end,aspet语句中除圆心坐标和半径外,其它参数均可省略,但其中的逗号必须保留。上述只有C选项满足题目要求,故选 C。结论:答案应为 C12.图像框(Image)和图片框(Picture)在使用时有所不同,以下叙述中正确的是( )A图片框比图像框占内存少 B图像框内还可包括其它控件 C图片框有 Stretch属性而图像框没有D图像框有 Stretch属性而图片框没有分析:图像框比图片框占内存少,图片框可
20、作为其它控件的容器而图像框不能,图片框有 Autosize属性而图像框没有, 图像框有 Stretch属性而图片框没有。结论:答案应为 D13.ADOrs为 Recordset对象,从 Tabel中获取所有记录的语句是( )AADOrs.New “Select * From Tabel“BADOrs.Open “Select * From Tabel“CADOrs.Execute “Select * From Tabel“DADOrs. Select “Select * From Tabel“分析:Execute 为执行的意思,语句 ADOrs.Execute “Select * From T
21、abel“可以从Tabel中获取所有记录。结论:答案应为 C14. 要发送数据,通常使用 Winsock 控件的( )ASendData 方法 BListen 方法CAccept 方法 DGetData 方法分析:SendData 方法用于发送数据。 Listen 方法使服务程序处于侦听状态,等待客户访问。Accept 方法用于接受一个连接请求,其中 RequestID 是客户机发来的请求号。GetData 方法用来取得接收到的数据。结论:答案应为 A15. VB 程序中通常不会产生错误提示的( ) 。A编译错误 B实时错误C运行时错误 D逻辑错误分析:编译错误多数是因为不正确的代码产生的。实
22、时错误也称运行时错误,是指应用程序运行期间,一条语句试图执行一条不可能执行的操作而产生的错误。逻辑错误是指程序的运行结果和程序员的设想有出入时产生的错误。这类错误并不直接导致程序在编译期间和运行期间出现错误,较难发现,逻辑错误不产生错误提示。结论:答案应为 D三、完善程序题1已知存在一名为“学生”的 SQL Server 数据库,其中的“students”数据表用来存储学生的基本情况信息,包括学号、姓名、籍贯、性别。请编写一个简单的应用程序,向 students 表中添加学生记录。程序的基本逻辑是:当窗体被加载时,程序联接 SQL Server 数据库;当点击 “增加 ”按钮时,首先查询学号是
23、否重复,如果不重复则向students 表中添加学生记录。其运行界面如图 1 所示。图 1程序如下,请补充完整。声明对象变量 ADOcn,用于创建与数据库的连接Private ADOcn As ConnectionPrivate Sub Form_Load()连接 SQL Server 数据库Dim strDB As StringstrDB = “Provider=SQLOLEDB;LSF;User ID=sa;Password=;Database = 1 “If ADOcn Is Nothing ThenSet ADOcn =2 ADOcn.Open strDB End IfEnd SubP
24、rivate Sub Command1_Click()增加学生记录Dim strSQL As StringDim ADOrs As 3 RecordsetADOrs.ActiveConnection=ADOcnADOrs.Open “Select 学号 From Students Where 学号 =”+” “+Text1+” “If Not 4 ThenMsgBox “你输入的学号已存在,不能新增加!”ElseStrSQL=”Insert Into students (学号,姓名,籍贯, 性别) StrSQL=strSQL+Values(”+” “+text1+” , “+text2+” ,
25、 “+text3+” , “+text4+” )”ADOcn.Execute 5 MsgBox “添加成功,请继续!”End IfPrivate Sub Command2_Click()Unload MeEnd Sub分析:数据库应用程序的大致框架是(1)联接后台数据库(2)联接数据库中的某张表(3)对这张表进行查询(Select)、插入(Insert)、修改(Update)、删除(Delete)操作。据此,根据题意应首先在窗体的 Load 事件中编写连接后台数据库的事件过程。在Command1_Click()事件过程中,首先连接数据库中的 “students”数据表,然后进行查询,查询结果用
26、 MsgBox 给出提示信息,再对“students ”数据表进行插入(Insert)操作。答案:1学生;2New Connection3New;4 ADOrs.EOF;5 strSQL;2在窗体上建立一个驱动器列表框、目录列表框、文件列表框、图片框、文本框。要求程序运行后,驱动器列表框 Drive1 的默认驱动器设置为 D 盘,选择 File1 中所列的图片文件(*.bmp,*.gif 和*.jpg),则相应的图片显示在图片框 Picture1 中,文件的路径显示在文本框中。程序运行结果如图 2 所示。图 2程序如下,请补充完整。Private Sub Form_Load()Drive1.D
27、rive = 1 将当前驱动器设置为 DFile1.Pattern = “*.bmp;*.gif;*.jpg“ 设置文件列表框中可以显示的文件类型End SubPrivate Sub Drive1_change() Dir1.Path = Drive1.Drive 使 Dir1 和 Drive1 同步改变2 将当前驱动器显示在文本框中End SubPrivate Sub Dir1_Change()3 使文件列表框和目录列表框同步改变Text1.Text = 4 将当前目录的路径显示在文本框中 End SubPrivate Sub File1_click()Picture1.Picture =
28、LoadPicture(File1.Path + “ + File1.FileName)FileName = File1.Path + “ + File1.FileName5 将文件名显示在文本框中End Sub分析:要在图片框中显示图形文件,首先要使三大文件系统控件同步起来,即文件列表框中显示的是指定驱动器的指定目录下的文件列表,可在驱动器列表框的 Change 事件中设置 Dir1.Path = Drive1.Drive,在目录列表框的 Chang1 事件中设置 File1.Path = Dir1.Path。用 LoadPicture 函数把图形文件装入图片框中。通过赋值语句将文件的路径显
29、示在文本框中。答案:1 “D:“ 2 Text1.Text = Drive1.Drive 3 File1.Path = Dir1.Path4 Dir1.Path 5 Text1.Text = FileName3使用顺序文件读写方式编写一个简单的记事本应用程序,其运行界面如图 3 所示。:假设在以 D 盘的根目录下有一个名为 W1.txt 的文本文件,程序运行时,当点击 “打开”按钮(Command1)时,程序将 W1.Txt 文件中的内容显示在文本框(Text1)中,当点击“保存”按钮(Command2)时,将 Text1 中的内容保存在 W1.txt 文件中。当点击“退出”按钮(Comman
30、d3)时关闭本窗体。图 3 记事本程序运行界面程序如下,请补充完整。Private Sub Command1_Click()Dim strtxt As StringText1 = “Open 1 以读方式打开文件Do While 2 判断文件是否结束Input #1, strtxt 从文件中读取数据并将其赋值给变量 strtxtText1 = Text1 + 3 将内容显示在文本框中Loop4 关闭文件End SubPrivate Sub Command3_Click()Open “D:W2.Txt“ For Output As #1 以写方式打开文件Write #1, 5 在文本框中写入内容Close #1End SubPrivate Sub Command4_Click()Unload MeEnd Sub答案:1 “D:W2.Txt“ For Input As #12 Not EOF(1)3 strtxt4 Close #15 Text1