Учебник Visual Basic Script
Учебник Visual Basic Script
Урок 1. Введение в VBScsript
Первый сценарий
Напишем наш первый файл сценария - Hello.vbs, который будет выводить надпись: “Hello World!”.
Он будет состоять из одной строки:
MsgBox “Hello World!”
Запустим его и получим:
Данный сценарий с помощью метода MsgBox выводит заданное сообщение в диалоговом окне на экран.
Переменные
Visual Basic Script, как и другие языки программирования использует переменные.
Переменные – это данные, которые могут изменять свое значение в процессе исполнения сценария. Они объявляются в начале сценария с помощью зарезервированного слова Dim.
Добавим в наш сценарий переменные:
Dim Message
‘объявляем переменную Message
Message = “Hello World!”
‘присваиваем ей значение “Hello World!”
MsgBox Message
При запуске сценария результат будет тот же.
Следует помнить при объявлении и использовании переменных и прочих зарезервированных слов, что для VBS регистр вводимых букв (в отличии от JScript) не имеет значения. Поэтому для VBS переменная Message и message будут одной и той же переменной. Если где-то в тексте сценария вы вызовете переменную Message как message – ошибки не будет.
В данном примере для пояснения действий, использовались комментарии, которые отделяются знаком апострофа (‘). Все, что будет в сценарии идти за знаком апострофа, интерпретатор языка VBScript, будет считать комментарием.
Например:
‘Это комментарий
Константы
VBS поддерживает также константы – данные, которые в противоположность переменным не могут изменять свое значение в течении сценария. Константы объявляются в начале сценария зарезервированным словом Сonst.
Используем в сценарии Hello.vbs константу вместо переменной:
Const Message = “Hello World!”
‘объявляем константу Message
MsgBox Message
Урок 2. Операторы языка
При действиях с числами VBS позволяет использовать обычные математические операторы:
Оператор | Описание |
+ | Сложение |
- | Вычитание |
* | Умножение |
/ | Деление |
\ | Деление нацело |
“Visual “ + “Basic “ & “Script” = “Visual Basic Script”
Давайте составим сценарий, который будет выводить приветствие в зависимости от имени пользователя.
Назовем его Hello_Name.vbs:
Dim Name
‘объявляем переменную Name
Name = InputBox(“Введите свое имя:”, “”)
‘присваиваем Name имя введенное пользоваетелем
MsgBox “Привет “ & Name + “ !”
‘выводим приветствие
Сценарий очень прост. Вначале появляется диалоговое окно ввода
InputBox, в которое пользователь вводит свое имя:
После ввода имени, данные в окне MsgBox будут выведены на экран.
Урок 3. Условный оператор
Поэкспериментировав со сценарием Hello_Name.vbs вы заметите, что у него имеется один недостаток, если пользователь нажмет кнопку OK, не введя имени он выдаст “пустое” приветствие. Без имени.
Для контроля возвращаемых сценарием данных существует условный оператор If…Then…Else
Усложним наш сценарий с его помощью:
Dim Name
'объявляем переменную Name
Name = InputBox("Введите свое имя:", "")
'присваиваем Name имя введенное пользоваетелем
If Name = "" Then
'Если ничего не введено
MsgBox "Вы не ввели своего имени!"
'выводим сообщение
Else
'если пользователь что-то ввел
MsgBox "Привет " & Name + " !"
'выводим приветствие
End If
Урок 4. Циклы
Предыдущий пример имел один недостаток - он выполнялся один раз. Если не вводилось имя мы получали только уведомление об этом, чтобы снова ввести имя приходится снова запускать сценарий.
Для многократного повторения одного и того же кода существуют циклы (см. справочник).
Добавим в наш сценарий цикл While...Wend:
Dim Name
'объявляем переменную Name
While Name = ""
'задаем условие цикла: до тех пор пока Name не
'принимет какое-либо значение цикл будет повторяться
Name = InputBox("Введите свое имя")
If Name = "" Then
MsgBox(" Вы не ввели своего имени" & Chr(10) & "Попытайтесь еще раз")
End If
'снова запускаем цикл:
Wend
'если Name было присвоено значение выходим из цикла:
MsgBox "Привет " + Name
Урок 5. Подпрограммы и функции
VBS позволяет использовать подпрограммы и функции.
В отличии от простых сценариев, в которых операторы их составляющие, выполняются друг за другом и один раз (за исключением циклов), подпрограммы и функции можно использовать в одном сценарии многократно.
Функция отличается от подпрограммы, что ее можно вставлять в выражения (например математические).
И подпрограмма и функция имеют свои имена, при помощи которых они могут быть вызваны из сценариев.
Вызов подпрограмм и функций производится зарезервированным словом Call, хотя это и не обязательно. Достаточно только указать имя функции или подпрограммы.
Структура подпрограммы:
Sub Имя_подпрограммы(парамеры)
...
Код подпрограммы
...
End Sub
Функция имеет аналогичную структуру:
Function Имя_функции(параметры)
...
Код функции
...
End Function
Подпрограммы и функции располагаются обычно в начале сценария.
Используем подпрограмму в сценарии Hello.vbs, назовем новый сценарий Hello_Sub.vbs.
Заключим оператор MsgBox в подпрограмму Messeger:
Sub Messager()
MsgBox “Hello World!”
End Sub
Однако, если мы попробуем запустить сценарий, у нас ничего не получится – подпрограмма должна быть вызвана.
Для этого добавим диалоговое окно выбора.
Окончательный сценарий Hello_Sub.vbs будет следующим:
‘Создаем подпрограмму Messeger c параметром text
Sub Messager(text)
MsgBox text
End Sub‘Конец подпрограммы
Dim result
‘объявляем переменную result, в которую будет помещен результат
‘работы диалогового окна
‘Выводим окно выбора:
result = MsgBox(“Хотите увидеть приветствие?”, vbYesNo _
+ vbQuestion, “Ваш выбор”) If result = vbYes Then
‘выбрана кнопка “Да”
Call Messager(“Hello World!”)
‘вызываем подпрограмму с параметром “Hello World”
Else
‘иначе
MsgBox “Не хотите – не надо!”
End If
Чтобы проиллюстрировать использование функции, мы не будем создавать свою функцию, а воспользуемся встроенной функцией VBS – Ucase, которая переводит строчные буквы в прописные.
Создадим сценарий UCase_Function.vbs:
Dim Text, UText
'объявляем переменные для хранения исходного
'и преобразованного текста
Text = InputBox("Введите какой-либо текст:", "")
'помещаем введенные данные в Text
UText = UCase(Text)
'преобразуем с помощью функции UCase
'строчные буквы в прописные, вызываем ее с параметром Text
MsgBox UText
'выводим результат
Урок 6. Массивы в VBScript
Во всех предыдущих уроках мы использовали переменные, которые являются важной составляющей сценариев. И во всех примерах мы ограничивались применением одной-двух переменных.
Но в больших сценариях (состоящих из сотен строк) существует потребность в десятках и более переменных, что не так удобно в работе.
Допустим мы имеем переменную result в которую будет помещен результат какого-либо вычисления. Если переменная у нас одна, то и использование ее не составит труда. Но если у нас, допустим, десять переменных, в которые будут помещаться результаты многих вычислений (Dim result1, result2, result3,…), то работать при этом с данными переменными будет не так удобно.
Решением этой проблемы будет использование массива, который объединяет в себе множество однотипных элементов (цифр, символов, строк и т.д.).
Вместо десяти переменных мы можем создать массив result, который будет состоять из десяти элементов, куда можно будет помещать результаты вычислений.
Массив, как и переменные объявляется словом Dim:
Dim result(9)
‘создаем массив из десяти элементов
Каждый элемент массива имеет свой порядковый номер – индекс. Нумерация индексов начинается с 0.
Т.о. если мы десять переменных result переведем в массив, то для вызова значения, которому раньше соответствовала переменная result1, нужно обратится к первому элементу массива с индексом 0:
Result(0)
После объявления массива можно его заполнять значениями:
Dim MyArray (2)
MyArray(0) = "Один"
MyArray(1) = "Два"
MyArray(2) = "Три"
Назад по тексту | Содержание |
О проекте | История | E-mail |
Copyright (C) 2000 - 2001 Alex Neverov
#bn { DISPLAY: block } #bt { DISPLAY: block }