Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

End Sub



Существует возможность при описании необязательных параметров указывать им те значения, которые необходимо принимать по умолчанию, если при вызове процедуры или функции они не указаны. Например:

Листинг 6.12.

Значения по умолчанию для необязательных

параметров

Private vntA, vntB

Option Explicit

Private Sub ConunandButtonI Click()

vntA = 5

vntB = 10

Call Opt(vntA, vntB) ' Результат: vntA = 15

vntA = 5

vntB = 10

Call Opt(vntA)

' Результат: vntA = 8

End Sub

Private Sub Opt(a. Optional b = 3)

a = a + b

End Sub

Как правило, при вызове процедуры или функции количе­ство требуемых параметров известно заранее. Однако зачас­тую возникают ситуации, в которых число параметров не яв­ляется постоянной величиной и может изменяться в зависимо­сти от тех или иных условий в программе. В этом случае па­раметры следует описывать в виде массива значений типа Variant при помощи служебного слова ParamArray.

Например:

Листинг 6.13.

Использование произвольного количества

параметров

Dim strPart

Dim strResult As String

Option Explicit

Private Sub CommandButton1 Click ()

Concat "Любое ", "число " ' Результат: "Любое число"

Concat "Любое ", "число ", "параметров" ' Результат: "Любое число параметров"

End Sub

Sub Concat(ParamArray arrPart())

strResult = ""

For Each strPart In arrPart

strResult = strResult & strPart

Next

End Sub

Приведенная выше процедура Concat объединяет в одно предложение несколько заданных строк, количество которых может быть произвольным.

Необходимо отметить, что при обработке массива arrPart с неизвестным числом элементов был использован цикл следую­щей конструкции:

fox Each элемент In массив Операторы

Next

При выполнении цикла с такой структурой для каждого эле­мента из массива (по порядку возрастания индексов) выполняет­ся блок операторы, в котором осуществляется обработка. Однако существует ограничение на использование описанного цикла, а именно: каждый элемент, принадлежащий массиву, обязательно должен иметь тип Variant.





Дата публикования: 2015-01-23; Прочитано: 167 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2025 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.632 с)...