VB查找怎么做啊
发布网友
发布时间:2022-05-09 19:15
我来回答
共3个回答
热心网友
时间:2023-10-14 14:51
实现查找功能的关键在于使用InStr函数,这个函数可以找到指定的字符串在另一字符串中最先出现的位置。我们先来看一看使用这个函数的语法:
InStr([start, ]string1, string2[, compare])
这个函数需要的的参数是起始位置、主体字符串、要查找的字符串;Compare是
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中输入要查找的字符串,单击 “查找”按钮和“查找下一个”按钮进行验证。
热心网友
时间:2023-10-14 14:52
请问你用来查找文件还是查找文本框里的内容..
以下查找文本内容:
添加一个窗体名字随便 一个Textbox控件 名称改为Text2
Checkbox 控件 Label2 caption属性"区分大小写(&C)"
Label1控件的caption属性为"查找内容(&N):"
Optionbox名称改为Option3 caption属性向上 Optionbox名称改为Option4 caption属性向下
2个Command控件 名称分别叫OKButton CancelButton
然后以下是代码
'这个AIP设置窗体总显示在最前
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Const HWND_TOPMOST = -1
Const SWP_SHOWWINDOW = &H40
Dim started As Boolean, Search As String, Where As Integer, 复选 As Boolean, modolo As String
Private Sub CancelButton_Click()
Unload Me
End Sub
Private Sub Check1_Click()
If Check1.Value = 1 Then
复选 = True
Else
复选 = False
End If
End Sub
Private Sub Form_Load()
Dim retvalue
'将窗体设置为处于所有窗口的顶层,注意在 VB 中运行时,可能不行,但编译成EXE后就可以了
retvalue = SetWindowPos(Me.hwnd, HWND_TOPMOST, Me.CurrentX, Me.CurrentY, 380, 120, SWP_SHOWWINDOW)
started = True
OKButton.Enabled = False '查找按纽设置无效
End Sub
Private Sub OKButton_Click()
If 复选 = True Then
Search = Text2.Text ' 获取需要查找的字符串。
modolo = Form1.Text1.Text '源文本内容
Else
Search = UCase(Text2.Text) ' 获取需要查找的字符串。
modolo = UCase(Form1.Text1.Text) '源文本内容
End If
If started = True Then '如果选择向下查找
Where = InStr(Where + 1, modolo, Search) ' 在文本中查找字符串从开始算起。
If Where Then ' 如果找到,
Form1.Show
Form1.Text1.SelStart = Where - 1 ' 设置选定的起始位置并
Form1.Text1.SelLength = Len(Search) ' 设置选定的长度。
Else
MsgBox "没有找到" & Text2.Text ' 给出通知。
End If
Else '如果选择向上查找
If Where - 1 <> 0 Then
Where = InStrRev(modolo, Search, Where - 1) ' 在文本中查找字符串从末尾算起。
If Where Then ' 如果找到,
Form1.Show
Form1.Text1.SelStart = Where - 1 ' 设置选定的起始位置并
Form1.Text1.SelLength = Len(Search) ' 设置选定的长度。
Else
MsgBox "没有找到" & Text2.Text ' 给出通知。
End If
Else: MsgBox "没有找到" & Text2.Text ' 给出通知。
End If
End If
End Sub
Private Sub Option3_Click()
started = False
End Sub
Private Sub Option4_Click()
started = True
End Sub
Private Sub Text2_Change()
OKButton.Enabled = True
End Sub
热心网友
时间:2023-10-14 14:52
VB6.0全称为VisualBasic 6.0,是微软公司推出的可视化编程工具MSDN之一,是目前世界上使用最广泛的程序开发工具。如果你是一个对编程一无所知,而又迫切希望掌握一种快捷实用的编程语言的初学者,那选择VB 6.0没错的。即使考虑到VB程序本身编译和运行效率较低的不足(嘻嘻速度现在不是问题吧),单是它的快捷的开发速度,简单易学的语法,体贴便利的开发环境,它仍不失一款优秀的编程工具,是初学者的首选。