Создание ф-и, возвращающей массив

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

Создание ф-и, возвращающей массив

Сообщение Alexanbar » 15.11.2004 (Пн) 0:29

Подскажите идею, как оформить публичную функцию (или процедуру), возвращающую массив пользовательского типа или что-нибудь эквивалентное.

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

Сообщение tyomitch » 15.11.2004 (Пн) 0:50

Эквивалентное -> класс.
Изображение

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

Сообщение GSerg » 15.11.2004 (Пн) 6:24

Ну зачем же так сурово :)

Если UDT описан в модуле, то в модуле же прекрасно создаётся функция As UDT() :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

Сообщение GM » 15.11.2004 (Пн) 8:36

Вот встречный вопрос, как объявить функцию в классе которая возращает пользовательский тип?
الفيجوال بيسك الرابح

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

Сообщение tyomitch » 15.11.2004 (Пн) 9:07

Сделать проект ActiveX EXE.
Изображение

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

Сообщение Sirik » 15.11.2004 (Пн) 9:37

Можно тип параметра обявить как Variant

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

Сообщение alibek » 15.11.2004 (Пн) 11:17

В Variant можно запихнуть массив, но никак не UDT.
Lasciate ogni speranza, voi ch'entrate.

Alexanbar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1727
Зарегистрирован: 13.04.2004 (Вт) 23:04
Откуда: Волгоградская обл.

Сообщение Alexanbar » 15.11.2004 (Пн) 11:37

В пределах одного модуля действительно можно всё сделать, если объявить функцию или процедуру как private, например:

private type AddressData
Address_ID as long
Address as string
Parent_ID as long
end type

Private function GetUbound( a() as AddressData) as long
on error resume next
GetUbound=Ubound(A)
err.clear
end sub

Подумал я за ночь и решил пойти другим путём. Мне, собственно говоря, нужно было на основе данных в базе заполнить несколько текстовых полей. планировал сформировать массив, а из него делать эти поля. Придётся сделать класс, в который передавать Textbox-ы как параметр.

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

Сообщение GSerg » 15.11.2004 (Пн) 13:30

А ты её как friend...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас


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

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

Сейчас этот форум просматривают: Yandex-бот и гости: 3

    TopList  
cron