Как и в большинстве языков программирования, в VBScript можно использовать процедуры и функции, которые позволят разделить код на логически отдельные подпрограммы и вызывать их, если нужно несколько раз.
Процедуры в VBScript
Написание процедуры начинается с ключевого слова Sub затем идет наименование процедуры, перечисление параметров в скобках. Затем идет программный код и заканчивается код ключевыми словами End Sub которые обозначают конец процедуры.
Пример процедуры без параметров:
Sub Test() ' какой-то код End Sub
Пример процедуры с параметрами:
Sub Test (Param1, Param2, Param3) ' какой-то код End Sub
Параметры в процедуре перечисляются без указания их типа.
Вызов процедуры осуществляется одним из 2-х способов:
- Call <имя_процедуры> (Param1, Param2, Param3)
- <имя_процедуры> Param1, Param2, Param3
Если пишем просто имя процедуры для ее вызова, тогда параметры, передаваемые ей перечиаляются просто следом после названия через запятую. Если же процедура вызывается с помощью Call, тогда параметры нужно обязательно перечислять в скобках.
Передавать параметры в процедуру можно по ссылке и по значению, для чего перед именем параметра пишем:
- ByRef - передача параметра по ссылке (при изменении параметра внутри процедуры, исходная переменная, которая передавалась, так же будет изменена)
- ByVal - передача параметра по значению (создается копия значения и изменение параметра внутри процедуры не изменяет исходную переменную, которая передавалась в процедуру)
Таким образом, если нужно в подпрограмме получить и вернуть в основную программу несколько значений, можно использовать передачу параметров по ссылке.
Пример возвращения нескольких значений из процедуры:
a = 1 b = 1 Test a, b MsgBox a ' Выведет 2 MsgBox b ' Выведет 2 Sub Test (ByRef c, ByRef d) c = 2 d = 2 End Sub
Функции в VBScript
Написание функции начинается с ключевого слова Function, затем название функции, перечисление передаваемых в нее параметров, код самой функции и заканчивается ключевыми словами End Function обозначающими конец функции.
Для того чтобы функция вернула значения, последней строкой нужно написать название функции и присвоить ей возвращаемое значение, в противном случае, функция вернет пустой результат.
Пример функции возвращающей значение:
MsgBox Test(1, 2) ' Выведет 3 Function Test (a, b) Test = a + b End Function
Функцию можно использовать как процедуру, при этом параметры в нее можно передавать по тем же правилам, что и для процедуры и точно так же можно использовать ByVal и ByRef для передачи параметров по значению и по ссылке.
Пример использования функции как процедуры:
Test 1, 2 Function Test (ByVal a, ByVal b) c = a + b MsgBox c ' Выведет 3 End Function
Если возможностей процедур и функций не достаточно, можно на VBScript написать классы, о которых рассказано в следующей статье. Если есть замечания/предложения по статье, пишем в комментариях.
Комментарии к статье:
Благодарю автора!
Добавить комментарий: