Обяъвление массива меток

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

Обяъвление массива меток

Сообщение noob4ever » 23.12.2006 (Сб) 20:32

Public X as Label -присваиваю переменной свойства метки
Даны метки: Label1(0-10)
Как значение метки присвоить переменной?
если 1 значение то делаю так: Set X=Form1.Label1(0)

Но в моей программе надо использовать массив меток, т.е:
for i=0 to 10
f=f+1
X(i)=.fields(f)
next i

извините если непрально выразился, неед хэлп.

Alexanbar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1727
Зарегистрирован: 13.04.2004 (Вт) 23:04
Откуда: Волгоградская обл.

Сообщение Alexanbar » 23.12.2006 (Сб) 22:03

А почему нельзя использовать непосредственно Form1.Label1(i) ?

noob4ever
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 117
Зарегистрирован: 05.01.2006 (Чт) 0:58

Сообщение noob4ever » 23.12.2006 (Сб) 22:22

потому что не работает так:
Public X as Label
-------------------------------
form load:
f=5
Set X=Form1.Label1(i)
-------------------------------
command click:
for i=0 to 10
f=f+1
X(i)=.fields(f)
next i

Что делать:?
почему так не работает, как сделать чтобы X(i) работал!?

noob4ever
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 117
Зарегистрирован: 05.01.2006 (Чт) 0:58

Сообщение noob4ever » 23.12.2006 (Сб) 22:24

А почему нельзя использовать непосредственно Form1.Label1(i) ?

объясняю почему, потому что X разный,
то есть в одном месте мы объявляем Set X=Form1.Label1(i), в другом Set X=Form1.Label2(i) и т.д.
а после объявление обращаемся в процедуру:
for i=0 to 10
f=f+1
X(i)=.fields(f)
next i

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

Сообщение tyomitch » 23.12.2006 (Сб) 22:33

Чтобы X(i) работал, он должен быть объявлен как массив.
Массивы умеем объявлять?
Изображение

noob4ever
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 117
Зарегистрирован: 05.01.2006 (Чт) 0:58

Сообщение noob4ever » 23.12.2006 (Сб) 23:13

тока не понял одно,
X объявить как массив и как метку одновременно?

noob4ever
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 117
Зарегистрирован: 05.01.2006 (Чт) 0:58

Сообщение noob4ever » 23.12.2006 (Сб) 23:23

Dim A,B
A=Array(5,7,12)
B=A(2)

а как это связать, не получается, никак не пойму, киньтесь кодом плиз!!!

Alexanbar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1727
Зарегистрирован: 13.04.2004 (Вт) 23:04
Откуда: Волгоградская обл.

Сообщение Alexanbar » 24.12.2006 (Вс) 0:38

Код: Выделить всё
Dim a() As Label

ReDim a(0)

Set a(0) = Label1(0)

MsgBox a(0).Caption

noob4ever
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 117
Зарегистрирован: 05.01.2006 (Чт) 0:58

Сообщение noob4ever » 24.12.2006 (Вс) 10:30

Dim a() As Label

ReDim a(0)

Set a(0) = Label1(0)

MsgBox a(0).Caption

ну не нужно мне (0)
мне надо все эллементы массива управления присвоить! ничего не получается если подставить i

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

Сообщение tyomitch » 24.12.2006 (Вс) 10:36

:roll:

Код: Выделить всё
Dim a

Private Sub Form_Load()
Set a = Label1
a(0).Caption = "Маразм крепчал"
a(1).Caption = "Деревья гнулись"
End Sub
Изображение

noob4ever
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 117
Зарегистрирован: 05.01.2006 (Чт) 0:58

Сообщение noob4ever » 24.12.2006 (Вс) 11:05

эх, оказывается так просто, спасибо!!! а я в такие дебри полез))))


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

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

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

    TopList