VB for 循环查找问题

来源:百度知道 编辑:UC知道 时间:2024/05/31 11:51:44
Private Sub Command2_Click()
Dim a As Integer
Dim x As String
Dim y As String

Dim miye(5) As String
x = Text2.Text
y = "google"
miye(1) = "baidu"
miye(2) = "空间"
miye(3) = "图片"
miye(4) = "知道"
miye(5) = "MIYE"
For a = 1 To 5
If InStr(x, miye(a)) <> 0 Then
Text3.Text = "报告:" + Chr(13) + Chr(10) + miye(a) + Chr(13) + Chr(10)
Else: Text3.Text = "报告: No "
End If
Next
End Sub

程序思路:FOR 循环查找在X中是否有MIYE(A)
出现问题:FOR 循环只会查找数组MIYE最后一项
而前面都不查找

不是不查找,而是查找的结果被后来的结果替换掉了
你看这些语句:

If InStr(x, miye(a)) <> 0 Then
Text3.Text = "报告:" + Chr(13) + Chr(10) + miye(a) + Chr(13) + Chr(10)
Else: Text3.Text = "报告: No "
End If

不论循环多少次Text3的内容永远都是最后一次循环的结果。

改为Text3.Text=Text3.Text & ............
就可以了

另外,+号最好用 & 代替,执行效率高
Chr(13) + Chr(10)可以用VB内置的常量vbCrLf代替