Функции и процедуры пользователя

Функции и процедуры пользователя

Для определения процедуры, т.е. подпрограммы, которая не возвращает никакого значения, в VBScript используется конструкция Sub…End Sub. После названия процедуры в круглых скобках указывается список ее параметров, например:

Sub MyProcedure(Param1, Param2)

 Dim Sum

 Sum = Param1+Param2

End Sub

Если процедура не имеет параметров, то в скобках после имени ничего указывать не нужно:

Sub MyProcedure()

 …

End Sub

Вызывать процедуру из сценария можно двумя способами. Во-первых, можно просто написать имя нужной процедуры и указать через пробел список передаваемых параметров, например:

MyProcedure 3,10

Во-вторых, можно использовать специальный оператор Call, при этом список параметров обязательно должен быть заключен в круглые скобки:

Call MyProcedure(3, 10)

Для определения функции, т.е. подпрограммы, которая возвращает определенное значение, применяется конструкция Function…End Function. Как и при описании процедур, после названия функции в круглых скобках указывается список ее параметров, например:

Function MyFunction(Param1, Param2)

 …

End Function

Для того чтобы возвратить из функции какое-либо значение, нужно внутри функции присвоить это значение переменной, название которой совпадает с именем функции:

Function MyFunction(Param1, Param2)

Dim Sum

 Sum = Param1 + Param2

MyFunction = Sum

End Function

Если возвращаемое функцией значение не нужно присваивать никакой переменной, то функция вызывается так же, как и процедура — пишется имя этой функции и через пробел указывается список ее аргументов:

MyFunction 3, 5

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

Dim а

а = MyFunction(3, 5)