问题 问答题

【应用说明】 某应用程序可选择打开用户指定的文本文件,将其内容显示在指定的文本框内供用户编辑,并将编辑后的结果保存在用户指定的文件中。运行时的窗口如图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 SubEnd IfusrFile=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) +vbCrLfLoopClose #1 End Sub ’其他代码略

答案

参考答案:

解析:(1)Dir1.Path (2)ListIndex (3)"txt" (4)Not (5)fContext

[分析]: 驱动器列表框(DriveListBox)、目录列表框(DirListBox)和文件列表框(FileListBox)是Visual Basic提供的内部控件,驱动器列表框可自动填写驱动器的名字和卷标,目录列表框可显示指定驱动器的目录树,而文件列表框则是一个特殊的ListBox控件,它显示指定目录下的所有文件,并可选择按文件的名字、扩展名或属性排列内容。 这些控件常常在一个窗体中工作,当用户在DriveListBox中选择一个驱动器时, DirListBox控件就更新显示该驱动器上的目录树,当用户在DirListBox中选择一条路径时,FileListBox控件中的内容为该目录下的文件列表,这些活动自动地触发Change事件。但是,这些活动不能自动完成,需要为Change事件编写代码,通过代码将驱动器列表框的Drive属性(指明当前驱动器)赋值给目录列表框的Path属性,将目录列表框的Path属性(指明当前路径)赋值给文件列表框的Path属性,即Dirl.Path=Drivel. Drive,Filel.Path=Dirl.Path,因此,空(1)处应填入“Dirl.Path”。 下拉式列表框(Combo Box)是组合列表框和文本框的特性而成的控件。它的Text属性值是用户所选择的项目的文本或直接从编辑区输入的文本。它的ListIndex属性值为选中条目的编号。显然,对于文件类型组合框Cmb_type的单击事件,空(2)处应填入“ListIndex”。 空(3)所在的if语句通过后缀判断文件的类型,显然对于文本文件,空(3)处应填入“txt”。由于文件的大小是变化的,因此对文件进行读取操作时,条件是文件未到达结尾,一般程序语言都会提供对文件操作的命令或函数,因此,空(3)处应填入“Not”。若要将文本文件的内容显示在文本框Txt_file中,则需把从1号文件读入的各行文本连接起来,语句“LineInput#1,fContext”用于从1号文件读入一行文本并存入变量fContext。因此,空(5)处应填入“fContext”。

单项选择题 案例分析题
单项选择题