Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / возврат у функции / 7 сообщений из 7, страница 1 из 1
09.09.2004, 12:56:15
    #32687206
raur
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
возврат у функции
Привет всем
может ли функция возвращать не 1 значение,

public function t (...) as long
...
t=...
end funsion

а несколько?
спасибо
...
Рейтинг: 0 / 0
09.09.2004, 13:03:50
    #32687234
Alexey Kudinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
возврат у функции
raurПривет всем
может ли функция возвращать не 1 значение,

public function t (...) as long
...
t=...
end funsion

а несколько?
спасибо
это достигается так :
1 - через параметры ByRef
2 - в качестве результата выполнения вернуть объект/массив/свой тип данных/и т.п.

2 способ имхо лучше (более гибкий)
...
Рейтинг: 0 / 0
09.09.2004, 13:11:25
    #32687259
raur
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
возврат у функции
1 - понятно
2 - можно примерчик возврата с массивом плиз
...
Рейтинг: 0 / 0
09.09.2004, 13:29:03
    #32687314
marvan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
возврат у функции
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Sub TestFunct()
    Dim a( 1  To  4 ) As Long
    b = Funct1(a())
    Debug.Print a( 1 )
End Sub

Function Funct1(a() As Long) As Boolean
    a( 1 ) =  1 
    Funct1 = True
End Function
...
Рейтинг: 0 / 0
09.09.2004, 13:30:00
    #32687317
Alexey Kudinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
возврат у функции
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
Option Explicit

Private Sub Command1_Click()
    Dim a As Long
    Dim b As Date
    Dim c As String
    Dim arr1() As Variant
    
    arr1 = Sample()
    
    a = arr1( 0 )
    b = arr1( 1 )
    c = arr1( 2 )
    Debug.Print a
    Debug.Print b
    Debug.Print c
End Sub

Private Function Sample() As Variant
    Dim arr( 0  To  2 ) As Variant
    arr( 0 ) =  10 
    arr( 1 ) = Now
    arr( 2 ) = "sample"
    
    Sample = arr
End Function
Вот простой пример. Для понимания для всего заведены отдельные переменные.

PS: Но я бы вернул объект класса, а не массив.
...
Рейтинг: 0 / 0
09.09.2004, 13:30:24
    #32687318
Hibernate
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
возврат у функции
raur1 - понятно
2 - можно примерчик возврата с массивом плиз

или так
Код: plaintext
1.
2.
3.
4.
public function t (...) as long()
dim f() as long
redim f ( 1  To  10 )
t = f
end Function
...
Рейтинг: 0 / 0
09.09.2004, 13:36:18
    #32687349
raur
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
возврат у функции
ухты,
как много!
спасибо всем, буду разбираться.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / возврат у функции / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]