Нужно ссылаться на переменную, используя значение, хранящееся в строке vb6 - PullRequest
0 голосов
/ 22 января 2009

Я перебираю некоторый код, используя цикл For. Итерационная переменная - «я». Я определил следующие переменные до цикла For Loop. L1, L2, L3, L4 в виде строк. Я хочу сослаться на эти строки внутри цикла For, как-то ссылаясь на «L» и char (i). Поэтому, как и при сравнении значения «Foo» <> «L» и Char (i), результатом должно быть тестирование «Foo» со строкой, хранящейся в переменной L1, когда i = 1. Или против L2, когда я = 2 и т. Д.

Мой предыдущий опыт программирования - Visual FoxPro, и все, что мне нужно было сделать, это добавить префикс & в начале строки, а затем он ссылался на переменную, имя которой хранится в строке.

Так что, если L1 хранил "Bar", и я хотел сравнить, я мог бы написать & L1 == "Bar". Я должен быть в состоянии сделать это с VB6. Кто-нибудь может помочь?

Ответы [ 3 ]

3 голосов
/ 22 января 2009

Вместо создания 4 переменных, я бы предложил создать массив. Пример:

Dim L(1 To 4) As String

For i = 1 to 4
    L(i) = "Whatever"
Next
0 голосов
/ 22 января 2009

Это работает в классе (например, форма VB):

Option Explicit

Public L1 As String
Public L2 As String
Public L3 As String
Public L4 As String

Sub Main()

  L1 = "Foo"
  L2 = "Bar"
  L3 = "Go"
  L4 = "Figure"

  Dim i As Long
  For i = 1 To 4
    Debug.Print CallByName(Me, "L" & CStr(i), VbGet)
  Next

End Sub
0 голосов
/ 22 января 2009

Что вам действительно нужно, так это массив, например:

Dim L(3) As String  ''// index begins at 0, 4 total elements

For Each i As String In L
    If "Foo" <> i Then
        ''// ...
    End If
Next i
...