VB中如何實(shí)現(xiàn)文本查找功能
發(fā)布時(shí)間:2008-08-06 閱讀數(shù): 次 來源:網(wǎng)樂原科技
---- 目前流行的軟件一般在“編輯”菜單中都有“查找”、“查找”下一個(gè)功能,這個(gè)功能看起來復(fù)雜,實(shí)際上實(shí)現(xiàn)起來是很簡單的,下面介紹實(shí)現(xiàn)方法。
---- 實(shí)現(xiàn)查找功能的關(guān)鍵在于使用InStr函數(shù),這個(gè)函數(shù)可以找到指定的字符串在另一字符串中最先出現(xiàn)的位置,這個(gè)函數(shù)需要的的參數(shù)是起始位置、主體字符串、要查找的字符串?!安檎蚁乱粋€(gè)”功能的實(shí)現(xiàn)就是把當(dāng)前位置作為起始位置繼續(xù)查找。舉
---- 例說明如下:
---- 界面安排:放置一個(gè)文本框TEXT1供用戶輸入文本或調(diào)入文本文件,用來做在其中查找文本的驗(yàn)證,放置另一個(gè)文本框TEXT2供用戶輸入要查找的字符串,放置兩個(gè)命令按鈕,Command1、Command2,其標(biāo)題分別為“查找”、“查找下一個(gè)”。
---- 在窗體的總體聲明部分寫如下代碼 :
Option Explicit
'定義目標(biāo)位置變量
Private TargetPosition As Integer
'編寫一個(gè)查找函數(shù)
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()
'從第一個(gè)字符處開始查找
FindText 1
End Sub
雙擊“查找下一個(gè)”按鈕:
Private Sub command2_Click()
'從當(dāng)前位置繼續(xù)查找
FindText TargetPosition + 1
End Sub
---- 運(yùn)行程序,在文本框1中輸入一些字符串,在文本框2中輸入要查找的字符串,單擊 “查找”按鈕和“查找下一個(gè)”按鈕進(jìn)行驗(yàn)證。