Как сделать функцию, возвращающую несколько значений

Обычно для возвращения нескольких значений используют процедуры или функции, которые возвращают значения в виде аргументов. По-моему проще объявить функцию в виде пользовательского типа:

Private Type RGBConst
Red As Integer
Green As Integer
Blue As Integer
End Type

' Функция для разложения цвета на составляющие
Private Function GetRGB(ByVal Color As Long) As RGBConst
GetRGB.Red = Color And 255
GetRGB.Green = Color \ 256 And 255
GetRGB.Blue = Color \ 65536 And 255
End Function

Private Sub Command1_Click()
Dim Color As RGBConst
Color = GetRGB(Point(1, 1))
Print "Красная составляющая"; Color.Red
Print "Зеленая составляющая"; Color.Green
Print "Синяя составляющая"; Color.Blue
End Sub
Hosted by uCoz