在VB6中,do while条件循环是什么?

3

我有一个小的VB6程序:

Private Sub Form_Load()
    Dim varTemp As Variant
    Dim string1 As String

    Dim x As Integer
    x = 0

    dialog.Filter = "toate fisierele(*.*) | *.*"
    dialog.Flags = cdlOFNAllowMultiselect Or cdlOFNLongNames Or cdlOFNExplorer

    'open the window to select files
    dialog.ShowOpen

    varTemp = Split(dialog.FileName, vbNullChar)

    Do While (varTemp(x) <> "")

    string1 = varTemp(x)
    x = x + 1

    Loop

    Unload Form1
    End

End Sub

我希望Do While循环可以一直循环,直到达到varTemp的结尾。但是,当我从对话框中选择两个文件并且x=3时,我会收到“运行时错误'9':下标超出范围”。请问“Do While”循环应该具有什么条件才能循环到varTemp的结尾?谢谢。
1个回答

5
你可以使用这个替代:
Do While x <= UBound(varTemp)

varTemp将是一个数组,因此这个循环会一直执行到数组中的最后一个元素。

如果用户取消选择并且varTemp为空,你可以在循环之前检查是否为空字符串,例如:

If varTemp <> vbNullString Then 
    Do While x <= UBound(varTemp)

        string1 = varTemp(x)
        x = x + 1

    Loop
End If

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接