VB中如何實現文本查找功能

發表于:2007-07-14來源:作者:點擊數: 標簽:
山東濟寧食品進出口公司 唐成斌 ---- 目前流行的軟件一般在“編輯”菜單中都有“查找”、“查找”下一個功能,這個功能看起來復雜,實際上實現起來是很簡單的,下面介紹實現方法。 ---- 實現查找功能的關鍵在于使用InStr函數,這個函數可以找到指定的字符串

山東濟寧食品進出口公司
唐成斌
---- 目前流行的軟件一般在“編輯”菜單中都有“查找”、“查找”下一個功能,這個功能看起來復雜,實際上實現起來是很簡單的,下面介紹實現方法。
---- 實現查找功能的關鍵在于使用InStr函數,這個函數可以找到指定的字符串在另一字符串中最先出現的位置,這個函數需要的的參數是起始位置、主體字符串、要查找的字符串?!安檎蚁乱粋€”功能的實現就是把當前位置作為起始位置繼續查找。舉

---- 例說明如下:

---- 界面安排:放置一個文本框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中輸入要查找的字符串,單擊 “查找”按鈕和“查找下一個”按鈕進行驗證。

---- 程序調試環境:中文VB5.0,中文WIN95。 

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97