空姐网

 找回密码
 注册空姐网账号

QQ登录

只需一步,快速开始

用新浪微博连接

一步搞定

查看: 2563|回复: 0

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

[复制链接]

发表于 2005-1-1 03:14:52 | 显示全部楼层 |阅读模式
 实现查找功能的关键在于使用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中输入要查找的字符串,单击 “查找”按钮和“查找下一个”按钮进行验证。

空乘婚恋http://www.51Love.cc 机组人员在英文里称为Cabin Crew
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册空姐网账号

本版积分规则

客户关怀|黑名单|写信给我们|空姐网 ( 沪ICP备14049210号-6 )

GMT+8, 2024-11-21 23:20 , Processed in 0.879381 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表