正文

B 技巧 - VB中如何实现文本查找功能-Instr函数使用技巧2005-09-25 07:43:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/iamben250/5251.html

分享到:

B 技巧 - VB中如何实现文本查找功能-Instr函数使用技巧

      谈谈您的看法
      已有 0 条发言
            VB中如何实现文本查找功能
              实现查找功能的关键在于使用InStr函数,这个函数可以找到指定的字符串在另一字符串中最先出现的位置。我们先来看一看使用这个函数的语法:
               InStr([start, ]string1, string2[, compare])
              这个函数需要的的参数是起始位置、主体字符串、要查找的字符串;Compare是可选参数。指定字符串比较。此compare参数是可以省略的,也可以是
            0, 1或
            2。指定0(缺省)做二进制比较。指定1做不区分大小写的文本比较。例如我们要查找在字符串“abcdefg”中是否存在“cd”并返回其位置,则使用下面的语句就可以实现:
               pos=InStr(1,"abcdefg","cd")
              则pos会返回3表示查找到并且位置为第三个字符开始。这就是“查找”的实现,而“查找下一个”功能的实现就是把当前位置作为起始位置继续查找。
              下面举例说明:
              放置一个文本框TEXT1供用户输入文本或调入文本文件,用来做在其中查找文本的验证,放置另一个文本框TEXT2供用户输入要查找的字符串,放置两个命令按钮,Command1、Command2,其标题分别为“查找”、“查找下一个”。
              在窗体的总体声明部分写如下代码 :
               Option Explicit '定义目标位置变量
               Private TargetPosition As Integer

                '编写一个查找函数
               Private Sub FindText(ByVal start_at As Integer)
               Dim pos As Integer
               Dim target As String
               '获取用户输入的要查找的字符串
               target = text2.Text
               pos = InStr(start_at, text1.Text, target)
               If pos > 0 Then
                  '找到了匹配字符串
                  TargetPosition = pos
                  text1.SelStart = TargetPosition - 1
                  '选中找到的字符串
                  text1.SelLength = Len(target)
                  text1.SetFocus
               Else '没有找到匹配的字符串
               MsgBox "没找到!"
               text1.SetFocus
               End If
               End Sub

               '双击“查找”命令按钮:
               Private Sub command1_Click() '从第一个字符处开始查找
               FindText 1
               End Sub

               '双击“查找下一个”按钮:
               Private Sub command2_Click() '从当前位置继续查找
               FindText TargetPosition + 1
               End Sub
              运行程序,在文本框1中输入一些字符串,在文本框2中输入要查找的字符串,单击 “查找”按钮和“查找下一个”按钮进行验证。

       

阅读(1895) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册