Массив массивов

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

Массив массивов

Сообщение jetcom » 09.01.2004 (Пт) 9:19

Всем привет!
Имеется строка вот такой конструкции: MyStr="!1/2/3/4!5/6/7/8!9/10/11/12!13/14/15/16!.......и т. д."
При помощи Split (MyStr,"!") создаю родительский массив, потом необходимо создать в нем несколько дочерних при помощи того же Split, но с разделителями "/".
Вопрос в том, как правильно описать и создать структуру "Массивы в массиве", если количество дочерних массивов неизвестно заранее? Заранее благодарю.
Всё сбудется!!!

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 09.01.2004 (Пт) 10:38

V=Array(1,Array(21,22,23),Array(Array(311,312),32))
Никаких структур не надо, Variant rulez :)
Lasciate ogni speranza, voi ch'entrate.

Lobo
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 108
Зарегистрирован: 08.01.2004 (Чт) 16:49
Откуда: Таллинн, Эстония

Сообщение Lobo » 09.01.2004 (Пт) 11:17

Variant - бяка! :lol:
Но: "You can use the ReDim statement repeatedly to change the number of elements and dimensions in an array."

Vi
Постоялец
Постоялец
 
Сообщения: 739
Зарегистрирован: 25.01.2002 (Пт) 11:03
Откуда: Россия, Ижевск

Сообщение Vi » 09.01.2004 (Пт) 15:01

Код: Выделить всё
  Dim MyStr As String

  Dim i As Long, strs() As String, arrarr() As Variant

  MyStr = "!1/2/3/4!5/6/7/8!9/10/11/12!13/14/15/16!"

  strs = Split(MyStr, "!")

  ReDim arrarr(LBound(strs) To UBound(strs))

  For i = LBound(strs) To UBound(strs)
    If strs(i) <> "" Then
      arrarr(i) = Split(strs(i), "/")
    End If
  Next i


PS
Забыл добавить. Массив массивов - это массив вариантов, каждый из которых содержит массив. Т.о. arrarr - это то, что нужно.
Vita
Выше головы не прыгнешь, ниже земли не упадешь, дальше границы не убежишь! (с) КВН

jetcom
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 181
Зарегистрирован: 12.01.2003 (Вс) 23:15
Откуда: Russia, Novorossiysk

Сообщение jetcom » 10.01.2004 (Сб) 2:10

Vi, спасибо большое!
Это именно то, что мне было нужно, ты меня правильно понял! :wink: :D
Всё сбудется!!!


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

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

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

    TopList  
cron