Собсно как?
Я так понимаю его нужно и объявлять и сразу инициализировать, но всевозможные варианты сколько не пробовал не катят, в том числе примеры из VB(
alibek писал(а):Статические массивы объявляются и инициализируются одномоментно.
alibek писал(а):Dim A(2,3,4)
VVV писал(а):alibek писал(а):Dim A(2,3,4)
Указание макс. длин это и есть пример инициализации массива? Спасибо...
Денис писал(а):VVV писал(а):alibek писал(а):Dim A(2,3,4)
Указание макс. длин это и есть пример инициализации массива? Спасибо...
Любопытно, с какого языка Вы пришли в бейсик?
Dim A(,,,) as String = New Array({"dddd", "asgsadg", asdasdg"}, {"ffff", "ggggg", "vvvvv"}, {"ffwgsdg", "awtewet", "sadgsadgsadg"})
Option Explicit
Dim varArr() As Variant 'Обязательно этот тип
Private Sub Form_Load()
'Инициализация
ReDim varArr(3, 3, 3)
'Заполнение
varArr = m(m("B1", "B2", "B3"), m("B4", "B5", "B6"), m("B7", "B8", "B9"))
'для теста вывожу полученное содержимое в файл
Open "D:\Temp\OutArr.bin" For Binary As #1
Put #1, , varArr
Close #1
'Здесь выходит ошибка, что бы я ни пытался извлечь
'Debug.Print varArr(1,1,1)
'А это рабочий вариант с одномерным динамическим массивом.
Dim a()
ReDim a(3)
a() = m("sdfsdfksdj", "sdfwrcvx", "ghjyrtyn")
Debug.Print a(0), a(1), a(2)
End Sub
'Вот она зверь-функция
Function m(ParamArray X() As Variant) As Variant
m = X
End Function
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 20