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