分享
三行代码  ›  专栏  ›  技术社区  ›  Vector

vb6在字符串中查找值将位置和值添加到列表框

  •  0
  • Vector  · 技术社区  · 6 天前

    我使用的是visualbasic6
    我试图找到一个值在字符串中的位置
    查找代码似乎正在工作问题是代码将信息添加到列表框两次

    位置2值2
    位置2值2

    位置4值2

    每次要搜索的字符串总是以某种随机顺序的1到9个值

    我的问题是如何只将位置和值添加到列表框中一次?

    Private Sub Form_Load()
       Dim S1, S2, MyPos As String
       Dim I As Integer
    
       I = 1
       S1 = "123245"
       S2 = "2"
       tbOne.Text = S1
    
       Do Until I = 5 'This will be Len(S1) - 1 later
          MyPos = InStr(I, S1, S2, 1)
          tbTwo.Text = tbTwo.Text & MyPos & vbNewLine
          'If MyPos = S2 Then
              lbOne.AddItem "Position " & MyPos & " " & "Value " & S2
          'End If
    
          I = I + 1
       Loop
    End Sub
    
    1 回复  |  直到 6 天前
        1
  •  1
  •   Brian M Stafford    6 天前

    这似乎能满足您的需要:

    Option Explicit
    
    Private Sub Form_Load()
       Dim S1 As String, S2 As String, MyPos As String
       Dim i As Integer
    
       S1 = "123245"
       S2 = "2"
       tbOne.Text = S1
       
       For i = 1 To Len(S1) - 1
          If Mid(S1, i, 1) = S2 Then
             tbTwo.Text = tbTwo.Text & i & vbNewLine
             lbOne.AddItem "Position " & i & " " & "Value " & S2
          End If
       Next
    End Sub
    

    注意,在同一行声明变量时必须指定类型,除非您希望它们是Variant类型。