Visual Basic Script


Учебник 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 }


Содержание раздела