![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Существует возможность при описании необязательных параметров указывать им те значения, которые необходимо принимать по умолчанию, если при вызове процедуры или функции они не указаны. Например:
Листинг 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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!