Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут
закрыты.
Читайте
требования к создаваемым темам.
-
Debugger
-
- Продвинутый гуру

-

-
- Сообщения: 1667
- Зарегистрирован: 17.06.2006 (Сб) 15:11
-
Debugger » 07.05.2010 (Пт) 14:55
- Код: Выделить всё
Dim col As Collection
Private Sub Form_Load()
Set col = New Collection
col.Add 1, "test"
Debug.Print col("test")
col("test") = 2
End Sub
Единичка-то выводится, а на двоечку меняться не хочет.
-
Хакер
-
- Телепат

-

-
- Сообщения: 16489
- Зарегистрирован: 13.11.2005 (Вс) 2:43
- Откуда: Казахстан, Петропавловск
-
Хакер » 07.05.2010 (Пт) 15:59
С какой стати должна-то?
Это укороченный вариант, в котором выражение
Col("test") подразумевает
Col.Item("Test"), где Item — функция
по умолчанию.
Так вот,
Item — это функция, а не Let-свойство. Если это было бы Let-свойством с параметром, тогда ты бы получил то, что хочешь. А так ты пытаешься присвоить значение возвращённому функцией значению.
Т.е. примерно следующее:
- Код: Выделить всё
Function Get777() As Long
Get777 = 777
End Function
Sub Foo
Get777() = 123
End Sub
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.
-
Debugger
-
- Продвинутый гуру

-

-
- Сообщения: 1667
- Зарегистрирован: 17.06.2006 (Сб) 15:11
-
Debugger » 07.05.2010 (Пт) 17:10
Всё, понятно
Спасибо!
Вернуться в Visual Basic 1–6
Кто сейчас на конференции
Сейчас этот форум просматривают: AhrefsBot, PetalBot, SemrushBot, Yandex-бот и гости: 14