Что-то типа eval

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
kirrun
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 514
Зарегистрирован: 06.04.2005 (Ср) 15:41
Откуда: Питер

Что-то типа eval

Сообщение kirrun » 06.05.2005 (Пт) 20:01

Похожая тема уже была вот тут: http://bbs.vbstreets.ru/viewtopic.php?t ... ight=forms

Как такое же провернуть для textbox или для переменной?
"Единственный безопасный компьютер - это тот, который выключен из электросети, закрыт в сейфе, который зарыт 20 футов под землей в засекреченной местности. И то я не уверен относительно его безопасности."
(Деннис Хьюджес, ФБР)

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 06.05.2005 (Пт) 20:04

Почему я даже ВБ не открывал? ;/

Код: Выделить всё
Controls("text1").Visible = False


А для переменной... Заведи 2 параллельных массива. Один для переменных, второй - для их описаний. Понятна идея?

kirrun
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 514
Зарегистрирован: 06.04.2005 (Ср) 15:41
Откуда: Питер

Сообщение kirrun » 06.05.2005 (Пт) 20:08

1) Видимо, ВБ ты не открывал тк я не догадался нажать ф2, а ты это знал и так ;)

2)А вот про переменные не понятна идея :(
"Единственный безопасный компьютер - это тот, который выключен из электросети, закрыт в сейфе, который зарыт 20 футов под землей в засекреченной местности. И то я не уверен относительно его безопасности."
(Деннис Хьюджес, ФБР)

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 06.05.2005 (Пт) 20:18

Код: Выделить всё
Option Explicit

Private ArrayA(1 To 100) As Variant 'variable
Private ArrayB(1 To 100) As String  'description

Public Function GetVar(Description As String) As Variant
Dim i As Long

GetVar = vbNullString

For i = LBound(ArrayA) To UBound(ArrayA)
    If ArrayB(i) = Description Then
        GetVar = ArrayA(i)
        Exit For
    End If
Next i
End Function

Public Sub SetVariables()
ArrayB(1) = "Speed"
ArrayA(1) = 256
End Sub

Private Sub Form_Load()
SetVariables
Dim ret As Variant
ret = GetVar("Speed")
If ret = vbNullString Then
    MsgBox "Variable 'Speed' not found!"
Else
    MsgBox "'Speed': " & ret
End If
End Sub

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 07.05.2005 (Сб) 15:47

Amed писал(а):... Заведи 2 параллельных массива. Один для переменных, второй - для их описаний. Понятна идея?

Collection. Описание - уникальный строковый ключ, собсно значение - тут, надеюсь, и так понятно. Во-первых, поиск по строковому ключу будет гораздо быстрее, чем (в общем случае - полный) перебор строкового массива, а во-вторых... зачем изобретать велосипед, если уже изобретен самолет?


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Google-бот и гости: 177

    TopList