Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Не могу разобраться с For each / 9 сообщений из 9, страница 1 из 1
16.10.2010, 16:01
    #36903046
Андрей159
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу разобраться с For each
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Public Type Figura
  X As Byte
  y As Byte
  Player As Byte
  PoleAtaki As Long 
  PidPricilom As Long
  Prikritta As Long 
  Shans As Long 
End Type
Public Fugurs( 64 ) As Figura


Public Sub PokazatiNaEkrani()
  Dim Fgr As Variant
  For Each Fgr In Fugurs
    If Fgr.Player =  1  Then
      Form1.Image2((Fgr.X + ((Fgr.y -  1 ) *  8 )) -  1 ).Picture = Form1.ImageList1.ListImages(Fgr).Picture
    End If
  Next
End Sub

Выдает ошибку на As Figura:
Для каждого не может использоваться на массиве определяемого пользователем типа или ряда устанавливаемой длины

Мне нужно все делать перебором. Как это делается ?
...
Рейтинг: 0 / 0
16.10.2010, 16:15
    #36903061
Ципихович Эндрю
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу разобраться с For each
Андрей159, когда я Не могу разобраться с For each
Я сначала строкой высчитываю это магическое количество "до тех пор пока"
А затем цикл, на одну строку кода больше зато всегда можно узнать сколько ещё цикл будет продолжаться
...
Рейтинг: 0 / 0
16.10.2010, 21:41
    #36903276
aduka05adm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу разобраться с For each
Андрей159
Выдает ошибку на As Figura:?
а че такое Figura?
...
Рейтинг: 0 / 0
16.10.2010, 22:05
    #36903294
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу разобраться с For each
(Сообщение об ошибке лучше давать так, как сказал VB, а не переводить)
Вам нужна коллекция, а не массив (For Each не работает с массивами User-Defined Types).
Либо не определяйте тип, а сделайте массив (64,7)
...
Рейтинг: 0 / 0
17.10.2010, 10:52
    #36903564
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу разобраться с For each
For Each работает с коллекциями, для обычного массива используйте обычный For
...
Рейтинг: 0 / 0
17.10.2010, 11:11
    #36903571
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу разобраться с For each
AndreTM(Сообщение об ошибке лучше давать так, как сказал VB, а не переводить)
боюсь, у него русскоязычный ВБ. Тот самый, в котором Query переведено как Вопрос. Потому и нельзя понять толком ни меню, ни сообщений об ошибке
...
Рейтинг: 0 / 0
17.10.2010, 11:13
    #36903573
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу разобраться с For each
aduka05admа че такое Figura?
читай первую строчку приведенного кода
...
Рейтинг: 0 / 0
18.10.2010, 23:11
    #36906268
Андрей159
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу разобраться с For each
Нужно например алгоритм игры в шашки. На блицбейсике это выглядило б просто (но он оч.медленно работает и расчитпн больше на 3d графику + там нет обработчика ошибок on error): создаем масив, создаем type (поля) к масиву, создаем процедуру одну, другую, вложенную в цыкле. На этом языке достаточно воспользоваться for each и он выполнит процедуру для каждой созданной переменной. Каждая переменная как отдельная фигура, как частичка там понимается. Там легко делать эфекты particle (типа салют и т.д.) Кстати там переменная создается и удаляется простыми командами типа как create и delete. В VB я только заметил что можно создавать дубликаты например элементов (кнопка, список), и так разсуждаю нет ли чего подобного как в блиц. Можна ли сдесь так делать? Даже если представить что фигура это элемент, а элементов можно создать много.

С цыклом вроде как ясно
For Индекс = LBound(Переменная_масива) To UBound(Переменная_масива)

Попробую разобраться дальше
...
Рейтинг: 0 / 0
18.10.2010, 23:24
    #36906276
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу разобраться с For each
Андрей159,

Бррр. Ты че-та мысль завернул, что я ниче не понял.

В общем, когда возникает уже что-то такое более серезное, типа того, что ты описал - вместо массива используется коллекция. В качестве элементов - экземпляры собственного класса, обладающего любыми нужными тебе свойствами. Ну и For Each к твоим услугам.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Не могу разобраться с For each / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]