함수에 매개변수를 전달할 때 여러개의 매개변수를 전달할 수 있도록 매개변수목록 을 넘겨줄 수 있을까?
예를 들어 넘겨받은 매개변수의 합을 구하는 Sum 함수가 있다고 가정하면
Private Function Sum(ByVal a As Long, ByVal b As Long, ByVal c As Long) As Long
Sum = a + b + c
End Function
위와 같이 작성해 보았다. 그런데, 10개의 매개변수가 있다면? 혹 50개의 매개변수가 있다면??
이러한 경우 ParamArray 키워드를 사용하면 쉽게 해결하여 위 코드를 아래와 같이 바꿀 수있다.
Private Function Sum(ParamArray iNums() As Variant) As Long
Dim lResult As Long
Dim i As Long
On Error Resume Next
For i = 0 To UBound(iNums)
lResult = lResult + Val(iNums(i))
Next i
Sum = lResult
End Function
Tip.
ParamArray는 적용할 수 있는 몇가지 적용규칙이 있습니다.
1. 매개 변수 배열을 하나만 정의할 수 있으며 마지막 인수 이어야 합니다.
2. 매개 변수 배열 앞에 오는 인수는 Optional 이어서는 안됩니다.
2. ParamArray 키워드는 Optional, ByVal, ByRef 과 같이 사용될 수 없습니다.
'VB6 > Basic' 카테고리의 다른 글
[내장함수] 날짜함수 정리 (0) | 2013.04.12 |
---|---|
[내장함수] 그림판 선그리기 (0) | 2013.04.09 |
[내장함수] DDE 기능 활용하기 (1) | 2013.04.09 |
[내장함수] AsyncRead를 이용한 웹이미지 가져오기 (0) | 2013.04.01 |
[내장함수] 해당월에 마지막 날짜 구하기 (1) | 2013.03.29 |