В этом начальном уроке, мы изучим синтаксис vbscript языка. Синтаксис языка vbscript является таким же как и в языке Visual Basic и фактически, является подмножеством данного языка программирования. Основной упор в использовании vbscript – это возможность написания сценариев (расширение vbs) с открытым кодом для платформы Windows. Пользователю не нужно прибегать к установке дополнительного программного обеспечения, так как все сценарии выполняются под управлением сервера сценариев Windows Script Host.
И так, давайте рассмотрим базовый синтаксис vbscipt и его возможности.
- Комментарии – для комментирования строк кода можно использовать ключевое слово REM, или одинарную кавычку (‘).
- Строки кода – что бы произвести перенос одной строки на несколько, используется символ подчёркивания.
- Переменные – для объявления переменных используется ключевое слово Dim. Более детально, работу с ними я рассмотрел в статье «Урок 2 по VBScript: Переменные«
Можно прописать несколько операторов в одну строчку, для этого используется знак двоеточия (:). Сам язык нечувствителен к регистру символов.
Хорошо, давайте рассмотрим синтаксис языка vbscript на таком примере:
'**************************************** REM Общий синтаксис vbscript REM primer_1.vbs '**************************************** dim a, b, c a = "строка" b = 100 c = 22.5 MsgBox a:MsgBox b:MsgBox c |
Видим, что тут, мы вначале прописали комментарии, далее объявили три переменные. Как видим, язык vbscript не требует назначения типа данных (более детально, работу с типами данных я рассмотрел в статье – «Урок 3 по VBScript: Типы данных«). В конце, для вывода данных мы использовали функцию MsgBox, в данном случае она прописана в упрощенном варианте. Давайте рассмотрим ее полный синтаксис:
MsgBox(prompt[, buttons] [, title ][, helpfile, context ] ) – видим, что тут, функции передаются пять параметров, последние два мы рассматривать не будет, так как они не являются актуальными и практически не применяются.
- prompt – собственно, сообщение, которое надо вывести
- buttons – позволяет задать дополнительные кнопки, их значения указываются через константы
- title – заголовок окна
Работу с данной функцией я более детально рассмотрел в статье «Создание диалоговых окон«.
Язык vbscript предоставляют также функции для работы со строками и датой, а также, ряд математических функций.
Конечно, синтаксис vbscript позволяет пользователю создавать собственные процедуры и функции. Для определения процедуры, т. е. подпрограммы, которая не возвращает никакого значения, в VBScript используется конструкция Sub … End Sub. После ключевого слова Sub идёт имя процедуры, а в круглых скобках указывается список её параметров, например:
Sub MyProcedure(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 = Paraml+Param2
MyFunction = Sum
End Function
Если возвращаемое функцией значение не нужно присваивать никакой переменной, то функция вызывается так же, как и процедура — пишется имя этой функции и через пробел указывается список ее аргументов: MyFunction 3,5
Если же необходимо записать значение в какую-либо переменную, то аргументы функции заключаются в круглые скобки.
Вот простой пример синтаксиса vbscript для использования собственных процедур и функций:
'**************************************** REM Общий синтаксис vbscript REM primer_2.vbs '**************************************** dim a, b, c ' пользовательская функция Function my_fun(a, b) Dim Summ Summ = a+b my_fun = Summ End Function ' пользовательская процедура Sub my_sub(a, b) Dim Summ Summ = a+b MsgBox Summ End Sub MsgBox my_fun(5,10) Call my_sub(100,200) |
Помимо процедур и функций, можно создавать собственные массивы (Урок 9 по VBScript: Массивы) и классы (Урок 8 по VBScript: Объекты и классы)
Ну что же, вдобавок, хотелось бы упомянуть две очень полезные функции:
- Hex(number ) – функция позволяет получить 16-ричное значение для числа number
- Oct(number) — функция позволяет получить 8-ричное значение для числа number
Смотрим на третий пример:
'**************************************** REM Общий синтаксис vbscript REM primer_3.vbs '**************************************** dim my_var my_var = 200 MsgBox Hex(my_var):MsgBox Oct(my_var) |
Интересно. Мне нравится
Очень познавательно! Рад что сюда зашёл
Спасибо, краткость -сестра таланта! Все понятно!
Супер незнал что vbs такой полезный так я программировал на python.