Свойства элемента из массива

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Densil
Начинающий
Начинающий
 
Сообщения: 23
Зарегистрирован: 02.03.2006 (Чт) 16:27

Свойства элемента из массива

Сообщение Densil » 09.03.2006 (Чт) 15:55

Люди, может кто подскажет? Задачка такая: есть массив элементов (лэйбелов), которые при загрузке формы заполняются в случайном порядке цифрами красного и чёрного цвета. Нужно, чтобы при нажатии на соответствующую цифру (Click или MouseDown) в отдельном информационном окошке (тоже лэйбел) появлялась эта же цифра и того же цвета. Как бы это осуществить?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 09.03.2006 (Чт) 15:58

Собственно, из постановки вопроса ("есть массив элементов") следует, что массив есть.
Как на VB осуществляется доступ к массиву, возникает после этого вопрос?..
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 09.03.2006 (Чт) 16:07

Невольно напрашивается излюбленная фраза GSerga: "А какие действия уже были предприняты для решения данной задачи самим автором?"
А я все практикую лечение травами...

Densil
Начинающий
Начинающий
 
Сообщения: 23
Зарегистрирован: 02.03.2006 (Чт) 16:27

Сообщение Densil » 09.03.2006 (Чт) 16:24

Да вообще ничего в голову не приходит. :( В самоучителе, по которому я изучаю VB разбираются примеры того, как объявить массив простой, динамический, как присвоить значения его элементам, но ни полслова о том, как обратиться к конкретному элементу и перетащить его свойства в другой объект. Проштудирую, конечно, ещё раз. Но сомнительно что найду там ответ.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 09.03.2006 (Чт) 16:28

Вернёмся к вопросу.

Densil писал(а):есть массив элементов

В VB есть понятие - массив элементов. Автор вопроса под словами "массив элементов" имел в виду массив элементов или же тот факт, что элементов много?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Densil
Начинающий
Начинающий
 
Сообщения: 23
Зарегистрирован: 02.03.2006 (Чт) 16:27

Сообщение Densil » 09.03.2006 (Чт) 16:31

Именно массив элементов - этикетки с именами от L(0) до L(48)

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 09.03.2006 (Чт) 16:31

Но в чем проблема, если ты можешь обратиться к свойству элемента? Вот смотри. Пусть имеется массив лэйблов lblArr и еще один лэйбл lblMain. По клику на одном из элементов lblArr присвоим его цвет и надпись lblMain:
Код: Выделить всё
Private Sub lblArr_Click(Index as Integer)
  lblMain=lblArr(Index)
  lblMain.Forecolor=lblArr(Index).Forecolor
End Sub
А я все практикую лечение травами...

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 09.03.2006 (Чт) 16:35

lblMain=lblArr(Index)

Не делай так. Желательно никогда.
lblMain.caption=lblArr(Index).caption
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 09.03.2006 (Чт) 16:37

Ты знаешь, GSerg, я ведь сначала так и написал, так как привык к Delphi, там свойств по умолчанию нет. Но раз они есть в VB, почему бы ими не воспользоваться?
А я все практикую лечение травами...

Densil
Начинающий
Начинающий
 
Сообщения: 23
Зарегистрирован: 02.03.2006 (Чт) 16:27

Сообщение Densil » 09.03.2006 (Чт) 16:43

Во-от! Понятно, вот это самое (Index) мне и нужно было. Спасибо!

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 09.03.2006 (Чт) 16:44

Код: Выделить всё
Dim obj1 As Variant, obj2 As Variant
...
obj1 = obj2

Что сделает этот код, если известно, что объекты 1 и 2 имеют свойства по умолчанию, тип которых variant, и которые могут содержать как объект, так и число, причём у содержащегося объекта также есть свойство по умолчанию, тип которого Variant?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 09.03.2006 (Чт) 16:54

GSerg, не занудствуй... :lol: Это все я прекрасно знаю. Но нам же известно, что объект - это Label и его свойство по умолчанию - Caption.
А я все практикую лечение травами...

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 09.03.2006 (Чт) 16:57

Я этого не помню. Мне пришлось пойти по F2 и посмотреть.
И нет, Caption не есть свойство по умолчанию. Свойство по умолчанию - _Default. А вот что оно возвращает Caption - это уже следующий слой накрутки...
Свойства по умолчанию я признаю только когда они параметрические...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 09.03.2006 (Чт) 18:09

GSerg писал(а):Свойства по умолчанию я признаю только когда они параметрические...

:roll:
Вон до чего .нет людей доводит...


Не понимаю, зачем на элементы языка налагать табу. Я пользуюсь GoTo, когда мне это нравится. И я пользуюсь GoSub, когда мне это нравится. И я пользуюсь DefXxx, когда мне это нравится. И я пользуюсь свойствами по умолчанию, когда мне это нравится. Зачем ограничивать себя?
Изображение

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 09.03.2006 (Чт) 18:13

Я пользуюсь GoTo, когда мне это нравится. Я не пользуюсь GoSub лишь потому, что мне это не нравится. И моя нелюбовь к непараметрическим свойствам по умолчанию возникла существенно раньше, чем я узнал, что не смогу установить на пробу .net на 98 винду...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас


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

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

Сейчас этот форум просматривают: SemrushBot и гости: 121

    TopList