阅读以下说明Visual Basic代码,回答问题1~2,将解答填入对应的栏内。 [说明] 本程序实现的功能是判断指定的文本文件中是否包含指定的字符串,并且如果包含则返回其第一次出现的位置(行号、列号)。程序运行界面如下图所示,用户只要通过驱动器列表

admin2009-02-15  26

问题 阅读以下说明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

选项

答案[问题1](1)Drivel. Drive (2)File1. Path (3)File1. filename (4)Exit Sub (5)AtEndOfStream (6)str Line, Textl. Text [问题2](7)Pattern (8)*.* (9)*.jpg;*.bmp

解析 (1)~(2)驱动器列表框的Drive属性表示当前选择的驱动器;目录列表框的Path属性表示当前目录的路径,如:"c:\ucdos\bin";文件列表框的path属性则表示列表中文件所在的目录的路径。因此,我们通常都把驱动器列表框对象的Path属性和目录列表框、文件列表框的Path属性联系起来,以实现三者的连动;
(3)文件列表框的filename属性返回选定的不含路径的纯文件名称,如"bkspeak.exe"、"VB习题.txt"等; (4)Exit Sub语句用于提前结束过程,类似地语句还有 Exit For(提前退出For循环)以及Exit Do(提前退出Do循环)等;
(5)文本流对象的AtEndOfStream属性返回Boolean类型的值,表示是否到达流的末尾;
(6)instr是VB提供的字符串查找函数,常用格式是in- str(起始位置,字符串1,字符串2),功能是返回字符串 2在字符串1中首次出现的位置(若字符中2在字符串 1种不出现则返回0);
(7)~(9)文件列表框的Pattern属性用于限制文件列表框中文件的类型,格式为:文件列表框名.pattern=" *.扩展名1;*.扩展名2;……"(中间不包含空格),例如"*.txt"、"*.*"以及"*.txt;*.rtf;*. htm"等。
转载请注明原文地址:https://kaotiyun.com/show/RojZ777K
0

最新回复(0)