Visual Basic 提供了列表框控件,当列表框中的项目较多。超过了列表框的长度时,系统会自动在列表框
阅读以下说明及Visual Basic程序代码,将应填入(n)处的字句写在对应栏内。
[说明]
某公司的服务器上为每位员工提供了一定大小的存储空间,用于数据的备份。下面的程序面向公司员工,提供了本地计算机与服务器端之间文件传输的功能。主要操作介绍如下:
(1)连接服务器:员工需要输入用户名和口令才能连接到服务器端,checkUser函数用于检查用户名和口令是否合法,返回真假值。
(2)上传文件:从本地计算机上传文件到服务器。员工可以在本地文件列表中选择一个或多个文件,这些文件通过上传操作被复制到服务器端指定的某个文件夹中;
(3)下载文件:从服务器端下载文件到本地。
在开发过程中,本地驱动器列表框名为Drive1,本地和服务器端目录列表框分别名为Dir1和 Dir2,本地和服务器端文件列表框分别名为File1和File2,界面上有上至下四个按钮分别名为Command1至Command4。
[Visual Basic代码]
Private Sub Drive1_Change()
(1) ’更新目录列表框的路径
End Sub
Private Sub Dir1_Change()
File1.Path=Dir1.Path ’更新文件列表框file1的路径
End Sub
Private Sub Dir2_Change()
File2.Path=Dir2.Path ’更新文件列表框file2的路径
End Sub
’连接服务器
Private Sub Command1_Click()
Dim user,password As String
user=(2) (“请输入用户名:”)
password=(2) (“请输入口令:”)
If check User(user,password)Then ’若用户名和口令正确
Dir2.Path=…… ’打开服务器上某一指定目录
Else: MsgBox“口令错误,请重试!”
End If
End Sub
’上传文件
Private Sub Command2_Click()
Dim fso As new FileSystemObject,f As File,i As Integer
If File1.FileName=""Then ’判断是否已经选中文件
MsgBox“请选择本地的文件!”
Exit Sub
End If
’创建文件系统对象
Set fso=CreateObject(“Scripting.FileSystemObject”)
’上传文件
For i=0 To (3) ’遍历文件列表框File1中的全体文件
If (4) Then’若该文件被选中
Set f=fso. (5) (Dir1.Path & “\” & File1.List(i))
f.Copy Dir2.Path & “\” & File1.List(i),True ’复制文件至服务器端
End If
Next
File2.Refresh
End Sub
’下载文件
Private Sub Command3_Click()
……
End Sub
’退出程序
Private Sub Command4_Click()
End
End Sub
Visual Basic中的对话框分为3种类型,即预定义对话框、自定义对话框和
A.列表框
B.图片框
C.通用对话框
D.文本框
阅读以下说明及Visual Basic程序代码,高尔夫球应填入(n)处的字句写在对应栏内。
[说明]
设某单位Acess数据库中有一张员工信息表,其中记录了员工编号、姓名、性别等基本信息。下面的应用程序利用数据控件(Data)实现了对这张表中记录的增加、删除和修改操作。其运行界面如下:
在开发过程中,数据控件Data1与员工数据表相连接,各文本框、“性别”组合列表框Combo1、“政治面貌”组合列表框Combo2都分别与数据表的相应字段绑定,界面上从左到右各操作按钮分别取名为CmdAdd、CmdDel、CmdUpdate和CmdExit。
[Visual Basic代码]
Private Sub Form_Load() ' 加载窗体
Combo1. (1) "男"
Combo1. (1) "女"
Combo2. (1) "党员"
Combo2. (1) "团员"
Combo2. (1) "群众"
End Sub
Private Sub CmdAdd_Cliek() '增加记录
Datal. Recordset. AddNew
End Sub
Private Sub CmdDel_Click() '删除记录
Datal. Recordset. (2)
Datal. Recordset. MoveNext
End Sub
Private Sub CmdUpdate_Click() '修改记录
If Datal. ReadOnly = (3) And Datal. Recordset. Updatable Then
Datal. Recordset. Edit
Datal. Recordset. (4)
Else
MsgBox "数据表不允许修改!"
End If
End Sub
Private Sub CmdExit_Click () '退出程序
Dim ret As Long
ret : MsgBox("真的要退出吗?", vbQuestion + vbYesNo, "退出" )
If (5) Then
Datal. Reeordset. Close
End
End ff
End Sub
阅读以下说明Visual Basic代码,回答问题1~2,将解答填入对应的栏内。
[说明]
本程序实现的功能是判断指定的文本文件中是否包含指定的字符串,并且如果包含则返回其第一次出现的位置(行号、列号)。程序运行界面如下图所示,用户只要通过驱动器列表框、目录列表框选定文件夹,文件列表框会自动列出该文件夹下所有文本文件名称,选中其中某个文件,再输入目标字符串并且单击“查找”按钮,就能看到查找的结果。
在开发过程中,驱动器列表框名为Drive1,目录列表框名为Dirl,文件列表框名为File1,目标字符串输入框名为Text1,“查找”按钮名为Command1。
[Visual Basic 代码]
Private Sub Drivel_Change()
Dirl. Path=(1) '更新目录列表框的路径
End Sub
Private Sub Dirl_Change()
(2)= Dirl. Path '更新文件列表框的路径 End Sub
Private Sub Commandl_Click()
Dim fso, a As Object
Dim i, j As Integer
If (3) = "" Then '判断是否已经选中某个文件
MsgBox "请选择一个文件文件!"
(4) '退出事件过程
End If
'创建文件系统对象以及文本流对象
Set fso = CreateOhjecl("Scripting. FileSystemOhject" )
Set a = fso. OpenTextFile(Dirl. Path & "/" &(3))
i=1
Do While (5)<> True '逐行读取文件,直至文件末尾
strLine = a. ReadLine
j = InStr(1,(6))'返回目标字符串在文件这一行中的位置
If j > 0 Then '如果目标字符串在这一行出现,则返回其位置
MsgBox "字符串第一次出现的位置是" & "(" & i & "," &j & "),,"
(4) '退出事件过程
End If
i:i+l
Loop
MsgBox "字符串在文件中不出现,"
End Sub
阅读以下关于某绘图系统的技术说明、部分UML类图及Visual Basic程序,将Visual Basic程序中(1)~(6)空缺处的语句填写完整。
【说明】
某绘图系统定义了一个抽象类Ishape,现有3个类Cpoint,CLine和Ccircle,它们都具有IShape界面。相应的类图关系如图5-11所示。
已知某第三方库已经提供了XCircle类,且完全满足CCircle图元显示时所需的功能。【Visual Basic代码6-1】是抽象类IShape类模块内容。【Visual Basic代码6-2】实现了类CCircle的IShape界面,并使用了XCircle提供的显示功能。
XCircle提供的显示功能方法接口为displayIt。
【Visual Basic代码6-1】
Publie Color As Long
Sub draw()
'方法体不包括可执行语句
End Sub
Sub move(stepx As Single, stepy As Single)
'方法体不包括可执行语句
End Sub
【Visual Basic代码6-2】
(1)
Private color As Long
… '其他定义省略
Private ridged As (2)
Private Sub Class_Initialize()
Set bridged=(3)
End Sub
Private Property (4) ()As Long
IShape_Color=color
End Property
Private Property (5) (ByVal newColor As Long)
Color=newColor
End Property
Private Sub IShape_draw() 使用XCircle提供的显示功能
(6)
End Sub
Private Sub IShape_move(stepx As Single, stepy As Single)
… '省略描述
End Sub
阅读以下应用说明及Visual Basic程序代码,根据要求回答问题1至问题4。
[说明]
某文件管理系统的图片浏览器如图3-19所示。运行程序时,用户只要通过驱动器列表框、目录列表框和文件列表框,选择文本文件所在的驱动器、文件夹及相应的文件名后,在图像框中将显示出相应的文件图像。
在开发过程中,假设驱动器列表框名为drvFile,目录列表框名为 dirFile,文件列表框名为filFile,选择文件类型组合框名为cboFile,图像框名为IMG nClick=over(this) title=放大Show。
图3-19 图片浏览器
[Visual Basic程序]
Private Sub Form_Load ()
IMG nClick=over(this) title=放大Show.Stretch=True
cboFile.Addltem "位图文件(*.bmp)"
cboFile.Addltem "图标文件(*.ico)"
cboFile.Addltem "图元文件(*.wmf)"
cboFile.Addltem "JPEG文件(*.jpg)"
cboFile.Addltem "GIF文件(*.gif)"
cboFile.ListIndex = 0
(1)
End Sub
Private Sub drvFile_Change ()
(2)
End Sub
Private Sub dirFile_Change ()
(3)
End Sub
Private Sub cboFile_Click ()
(4)
Case 0
filFile. Pattern= "*.bmp"
Case 1
filFile. Pattern= "*.ico"
Case 2
filFile. Pattern= "*.wmf"
Case 3
filFile. Pattern= "*.jpg.
Case 4
filFile. Pattern= "*.gif"
End Select
End Sub
Private Sub filFile_Click()
If (5) Then
IMG nClick=over(this) title=放大Show. Picture= LoadPieture(filFile. Path+ filFile.FileName)
Else
IMG nClick=over(this) title=放大Show. Picture= LoadPicture((6) + "\" + (7) )
End If
End Sub
请根据[说明]和图3-19的显示结果,从以下备选答案中为程序(1)~(7)空缺处选择正确的答案。
[备选答案]
A. filFile.path B. dirFile.Path=drvFile.Drive
C.Right(filFile.Path,1) = "\" D.filFile.Pattern ="*.bmp"
E.filFile.Path = dirFile.Path F.filFile.FileName
G.Select Case cboFile.ListIndex
阅读以下应用说明及Visual Basic程序代码,将应填入(n)处的字句写在对应栏内。
【应用说明】
某应用程序可选择打开用户指定的文本文件,将其内容显示在指定的文本框内供用户编辑,并将编辑后的结果保存在用户指定的文件中。运行时的窗口如图6-1所示,其中有6个标签、一个驱动器列表框、一个目录列表框、一个文件列表框、一个文件类型组合框、一个文件编辑文本框、一个文件名文本框以及两个命令按钮。
该程序的开发要求如下。
(1)通过驱动器列表框(Drivel)、目录列表框(Dirl)和文件列表框(Filel),选择文件。
(2)文件类型组合框(Cmb_type)设置为下拉式列表框,其中有三个供选项,分别为“所有文件(*.*)”、“文本文件(*.txt)”和“可执行文件(*.exe)”。在文件列表框中列出的文件类型会自动与文件类型组合框中选择的文件类型相匹配。
(3)在文件列表框中单击一个文件名时,该文件名会显示在文件名文本框 (Txt filename)中。
(4)在文件列表框中双击一个文件名时,若是文本文件,则在文件编辑文本框 (Txt file)中显示该文件的内容并可进行编辑;若不是文本文件,则弹出一个对话框,提示“请选择文本文件!”。
(5)对于编辑后的文本文件,可在文件名文本框中输入新的文件名,并单击命令按钮(Cmd save)进行保存。
【Visual Basic程序代码】
Private Sub Form_Load()
Cmb_type.Addltem "所有文件(*.*)"
Cmb_type.Addltem "文本文件(*.txt)"
Cmb_type.Addltem "可执行文件(*.exe)"
Cmb_type.ListIndex=0
Filel.Pattern="*.*": Txt_filename.Text=" "
Txt_file.Text= " "
End Sub
Private Sub Dirl Change()
Filel.Path=(1)
End Sub
Private Sub Drivel Change()
Dirl.Path=Drivel.Drive
End Sub
Private Sub Cmb_type_click()
Select Case Cmb_type.(2)
Case 0
Filel.Pattern="*.*"
Case 1
Filel.Pattern="*.txt"
Case 2
Filel.Pattern="*.exe"
End Select
End Sub
Private Sub Cmd_save_Click()
usrFile=GetFileName() '函数GetFileName获得要保存的文件名
Open usrFile For Output As 1 '定义usrFile为1号输出文件
Print 1,Txt file.Text '输出到1号文件
Close 1
End Sub
Private Sub Filel_DblClick()
If right(Filel.FileName,3)<>(3)Then
MsgBox "请选择文本文件!"
Exit Sub
End If
usrFile=GetFileName() '函数GetFileName获得要打开的文件名
Open usrFile For Input As 1 '定义usrFile为1号输入文件
Txt_file.Text=" "
DO While (4) EOF(1)
Line Input l,fContext '从1号文件读入一行
Txt_file.Text;Txt file.Text +(5)+vbCrLf
Loop
Close 1
End Sub
'其他代码略