|
|
|
| нужна функция , которая возвращает два значения.
подскажите синтаксис | |
|
| |
|
|
|
| вариантов несколько
1. Передавать парметры функции как byRef - в этом случае их значения измененные в функции сохраняться
2. Создать Public переменные на уровне модуля и в функции изменять их значения потом можно получить значения этих переменных из других модулей.
3. Описать свой тип и описывать функцию как возвращающую данный тип см. help по type | |
|
| |
|
|
|
| А еще функция может вернуть массив в переменной Variant или объект Collection. | |
|
| |
|
|
|
| msgbox <Title>, <Promt>
| |
|
| |
|
|
|
| очень интересно,если чуток по-проще объяснить,то получается:
1. функция возвратит количество переменных объявленных в скобках + 1 за ними ?
2. им. вв. работа с глобальными переменными?
3. то что Анатолий (киев) посоветовал как возврат массива данных ? | |
|
| |
|
|
|
|
Public Function f22(ByRef fx As Integer, ByRef fy As Integer) As Integer
f22 = fx + fy
fx = 10
fy = 20
End Function
Public Sub tst22()
Dim x As Integer: Dim y As Integer
x = 1
y = 1
Debug.Print f22(x, y), x, y
'мы вернули аж три значения f22, x , y
' 2 10 20
End Sub
|
| |
|
| |
|
|
|
|
Public Type xy
x As Integer
y As Integer
End Type
Public Function f222(ByRef zx As xy) As Integer
f222 = zx.x + zx.y
zx.x = 10
zx.y = 20
End Function
Public Sub tst222()
Dim z As xy
z.x = 1
z.y = 1
Debug.Print f222(z), z.x, z.y
' 2 10 20
End Sub
|
Эх люблю такие примерчики.
или так
Public Function f222(ByRef zx As xy) As xy
f222.x = 10
f222.y = 20
End Function
Public Sub tst222()
Dim z As xy
z.x = 1
z.y = 1
z=f222(z)
Debug.Print z.x, z.y
'10 20
End Sub
|
| |
|
| |
|
|
|
| REM>>
в школе подобный вопрос обычно задают в отношении логических функций
т.е. в методичке имеется в виду "только два значения" (True - False)
IsNumeric
IsDate
etc.
иначе сам вопрос не имеет смысла | |
|
| |
|
|
|
| Пожалуй, соглашусь. | |
|
| |
|
|
|
|
в школе подобный вопрос обычно задают в отношении логических функций
т.е. в методичке имеется в виду "только два значения" (True - False)
|
в реальной жизни логическая функция имеет еще третье состояние (значение по умолчанию) - ХЗ | |
|
| |
|
|
|
| помниться в делфи любил типы... | |
|
| |
|
|
|
| Да больше!
- почти правда
- почти ложь
| |
|
| |
|
|
|
| это одно и то же состояние - ХЗ
как в 95-м квартале - ОСЬ ВАМ (с земным поклоном) - и не обидели и информацию донесли | |
|
| |
|
|
|
|
| огромное спасибо. для моей надобности отлично подходит вариант через ByRef | |
|
| |