Как в функцию передать массив данных?

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

Как в функцию передать массив данных?

Сообщение Citius » 30.08.2007 (Чт) 17:23

Думаю вопрос просто мега тупой, но я не знаю :(

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

Сообщение tyomitch » 30.08.2007 (Чт) 17:25

А в чём конкретно затруднения?
Изображение

ALX_2002
Мега гуру
Мега гуру
 
Сообщения: 2054
Зарегистрирован: 25.11.2002 (Пн) 20:03

Сообщение ALX_2002 » 30.08.2007 (Чт) 17:33

К примеру так. :roll:
Код: Выделить всё
Dim MyArr(10) As Long

Private Sub Form_Load()
    GArray MyArr
End Sub

Function GArray(ByRef DataArray() As Long)
    MsgBox UBound(DataArray)
End Function

Citius
Обычный пользователь
Обычный пользователь
 
Сообщения: 74
Зарегистрирован: 09.11.2005 (Ср) 9:36
Откуда: Украина

Сообщение Citius » 30.08.2007 (Чт) 17:45

Ага понял, т.е. без ByRef работать не будет.

ALX_2002
Мега гуру
Мега гуру
 
Сообщения: 2054
Зарегистрирован: 25.11.2002 (Пн) 20:03

Сообщение ALX_2002 » 30.08.2007 (Чт) 17:49

В том случае нет.

Но если ты объявишь глобальную переменную, то можешь её заюзать и без всякой передачи в той же функции. И..... ну.... лан. Короч - ога.

Александр Дмитриев
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 296
Зарегистрирован: 05.01.2005 (Ср) 3:39
Откуда: Санкт-Петербург    Куда: /dev/null

Сообщение Александр Дмитриев » 30.08.2007 (Чт) 18:01

Citius писал(а):т.е. без ByRef работать не будет
Нет, ByRef используется по умолчанию, если о методе передачи параметра ничего не сказано. Так что ByRef в примере ALX_2002 можно убрать. Фишка в том, что чтобы использовать массив в качестве параметра функции, нужно в формальных параметрах функции указать его имя и после него две скобки () (не указывая диапазон или кол-во индексов), а в фактических параметрах просто указать имя.

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

Сообщение tyomitch » 30.08.2007 (Чт) 18:02

Citius писал(а):Ага понял, т.е. без ByRef работать не будет.

Будет.
ByRef подразумевается по умолчанию, если не указан ByVal.

[add]
Александр Дмитриев писал(а):а в фактических параметрах просто указать имя.

Можно указать и пустые скобки после имени, они не помешают.
Изображение


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

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

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

    TopList