Приём массива из процедуры

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Sirik
Perspicaz
Perspicaz
Аватара пользователя
 
Сообщения: 2280
Зарегистрирован: 19.02.2004 (Чт) 16:09
Откуда: Бердичев, Украина

Приём массива из процедуры

Сообщение Sirik » 24.06.2004 (Чт) 16:20

Вобщем тривиальный вопрос: можно принимать из процедуры (функции) массив? При это массив не должен быть private

san*
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 115
Зарегистрирован: 17.06.2004 (Чт) 17:57
Откуда: Киев

Сообщение san* » 24.06.2004 (Чт) 17:05

Типа так?

Sub test()
Dim b(1 To 2) As Variant
b(1) = 10
fn1 b()
MsgBox b(2)
End Sub
Sub fn1(A() As Variant)
A(2) = A(1)
End Sub

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 24.06.2004 (Чт) 18:05

function func() as long()
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

areh
Постоялец
Постоялец
 
Сообщения: 530
Зарегистрирован: 02.12.2002 (Пн) 12:28
Откуда: РОССИЯ, Салехард

Сообщение areh » 24.06.2004 (Чт) 22:23

Есть мнение, что для того чтобы получить результат функции в виде массива лучше его просто передать в функцию как параметр (ByRef)

Leon_
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 333
Зарегистрирован: 19.05.2004 (Ср) 16:31
Откуда: Moscow

Сообщение Leon_ » 25.06.2004 (Пт) 0:17

2 areh:
san* писал(а):Типа так?
Sub fn1(A() As Variant)
A(2) = A(1)
End Sub

Это и есть передача массива "по ссылке" (ByRef), т.к. ByRef используется по умолчанию.

areh
Постоялец
Постоялец
 
Сообщения: 530
Зарегистрирован: 02.12.2002 (Пн) 12:28
Откуда: РОССИЯ, Салехард

Сообщение areh » 25.06.2004 (Пт) 0:50

извиняюсь, не заметил...

просто я уже отвык, от того что ByRef по умолчанию... луче писать с указанием, так понятней...

Sirik
Perspicaz
Perspicaz
Аватара пользователя
 
Сообщения: 2280
Зарегистрирован: 19.02.2004 (Чт) 16:09
Откуда: Бердичев, Украина

Сообщение Sirik » 25.06.2004 (Пт) 9:02

Я уже сам разобрался. Спасибо всем

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

Сообщение alibek » 25.06.2004 (Пт) 12:26

Вообще-то массивы всегда передаются по ByRef...
Lasciate ogni speranza, voi ch'entrate.


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 14

    TopList