'constrol          name
'textbox           txtfindcondition
'textbox           txtfindresult1
'textbox           txtfindresult2
'commandbutton     cmdfind
'commandbutton     cmdpre
'commandbutton     cmdnextOption Explicit
Dim Arr(9, 1) As String
Dim index As IntegerPrivate Sub cmdFind_Click()
    Dim i As Integer
    For i = 0 To 9
        If Arr(i, 0) = txtFindCondition.Text Then
            index = i
            txtFindResult1.Text = Arr(i, 0)
            txtFindResult2.Text = Arr(i, 1)
            Exit Sub
        End If
    Next
    MsgBox "没有符合条件的记录"
End SubPrivate Sub cmdNext_Click()
    Dim i As Integer
    If index < 9 Then
        For i = index + 1 To 9
            If Arr(i, 0) = txtFindCondition.Text Then
                index = i
                txtFindResult1.Text = Arr(i, 0)
                txtFindResult2.Text = Arr(i, 1)
                Exit Sub
            End If
        Next
    End If
    MsgBox "在当位置之下没有符合条件的记录"
End SubPrivate Sub cmdPre_Click()
    Dim i As Integer
    If index > 0 Then
        For i = index - 1 To 0 Step -1
            If Arr(i, 0) = txtFindCondition.Text Then
                index = i
                txtFindResult1.Text = Arr(i, 0)
                txtFindResult2.Text = Arr(i, 1)
                Exit Sub
            End If
        Next
    End If
    MsgBox "在当位置之上没有符合条件的记录"
End SubPrivate Sub Form_Load()
    Dim i As Integer
    
    For i = 0 To 9
        Arr(i, 0) = 1
        Arr(i, 1) = i * i
    Next
End Sub
'在txtfindcondition框输入1 按按钮即可看出结果

解决方案 »

  1.   

    coolant_lai(丛子) 麻烦您把上面的代码作一下注释好吗?我看不太懂,谢谢
      

  2.   

    '控件              名称
    'textbox          txtfindcondition
    'textbox          txtfindresult1
    'textbox          txtfindresult2
    'commandbutton    cmdfind
    'commandbutton    cmdpre
    'commandbutton    cmdnextOption Explicit
    Dim Arr(9, 1) As String
    Dim index As Integer'记录上一次查找的位置变量Private Sub cmdFind_Click()
        Dim i As Integer
        '从头开始查找
        For i = 0 To 9
            '判数组(i,0)的值是否与查找的条件相同
            If Arr(i, 0) = txtFindCondition.Text Then
                index = i'记录当前记纪号
                '显示数组内容
                txtFindResult1.Text = Arr(i, 0)
                txtFindResult2.Text = Arr(i, 1)
                Exit Sub
            End If
        Next
        MsgBox "没有符合条件的记录"
    End SubPrivate Sub cmdNext_Click()
        Dim i As Integer
        '判断是否已经到数组尾
        If index < 9 Then
            '从查找到的位置下一个开始查找(index + 1 )
            For i = index + 1 To 9
                If Arr(i, 0) = txtFindCondition.Text Then
                    index = i
                    txtFindResult1.Text = Arr(i, 0)
                    txtFindResult2.Text = Arr(i, 1)
                    Exit Sub
                End If
            Next
        End If
        MsgBox "在当位置之下没有符合条件的记录"
    End SubPrivate Sub cmdPre_Click()
        Dim i As Integer
        '判断是否已经到数组头
        If index > 0 Then
            '从查找到的位置上一个开始查找(index - 1 )
            For i = index - 1 To 0 Step -1
                If Arr(i, 0) = txtFindCondition.Text Then
                    index = i
                    txtFindResult1.Text = Arr(i, 0)
                    txtFindResult2.Text = Arr(i, 1)
                    Exit Sub
                End If
            Next
        End If
        MsgBox "在当位置之上没有符合条件的记录"
    End SubPrivate Sub Form_Load()
        Dim i As Integer
        '初始化二维
        For i = 0 To 9
            Arr(i, 0) = 1
            Arr(i, 1) = i * i
        Next
    End Sub
    '我是将数组的(i,0)作为查找的对象
    '在txtfindcondition框输入1 按按钮即可看出结果 
      

  3.   

    太太太太太太太太太太太太感谢了,coolant_lai(丛子) 您看我这样的笨蛋该怎样学vb阿~~~
    给分给分都给你