Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Можно ли записать массив в виде функции?

248
01 апреля 2011 года
Dmitry2064
590 / / 06.12.2006
Такой вопрос.
Есть две примитивных процедурки:
 
Код:
Sub my1()
For Each mName In Array("a", "b", "c")
...
''' ...import
Next
End sub

и
 
Код:
Sub my2()
For Each mName In Array("a", "b", "c")
...
''' ...export
Next
End sub

Можно ли избежать двойной записи массива? Если надо будет добавить еще пару-тройку элементов, то можно ли не записывать их в два места, а вынести куда-то в функцию, чтобы дописывать пришлось бы одном месте?
7
01 апреля 2011 года
@pixo $oft
3.4K / / 20.09.2006
К сожалению,в VB преинициализированные массивы недоступны.Поэтому как минимум инициализируйте массив в цикле где-то в начале
Также могу предположить,что VB оптимизирует такую конструкцию и вместо 2х массивов создаёт 1
248
01 апреля 2011 года
Dmitry2064
590 / / 06.12.2006
Sub my1
For i = 0 To UBound(mymod)
... import
Next
End Sub
Function mymod()
mymod = Array("a", "b", "с")
End Function
275
01 апреля 2011 года
pashulka
985 / / 19.09.2004
Так тоже будет работать :

 
Код:
Sub Macros1()
    Dim vItem 'As Variant
    For Each vItem In getArray
        MsgBox vItem
    Next
End Sub

Function getArray() 'As Variant
    getArray = Array("a", "b", "ñ")
End Function
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог