Синтаксис VBScript

Основные синтаксические принципы и конструкции VBScript как языка программирования. Виды операторов, особенности использования переменных и констант. Характеристика встроенных функций, порядок создания объектов. Поиск и исправление ошибок в скрипте.

Рубрика Программирование, компьютеры и кибернетика
Вид реферат
Язык русский
Дата добавления 13.01.2012
Размер файла 14,3 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

1

Синтаксис VBScript

Основные принципы

Основные синтаксические принципы VBScript как языка программирования:

* VBScript нечувствителен к регистру;

* чтобы закомментировать код до конца строки, используется одинарная кавычка (') или команда REM;

* символьные значения должны заключаться в двойные кавычки;

* максимальная длина любого имени в VBScript (переменные, константы, процедуры) - 255 символов;

* начало нового оператора - перевод на новую строку (точка с запятой, как в C, Java, JavaScript для этого не используется);

* ограничений на максимальную длину строки нет. Несколько операторов в одной строке разделяются двоеточиями:

* можно объявлять и использовать переменные только одного типа данных - Variant.

Основные отличия VBScript от Visual Basic:

* VBScript - интерпретируемый язык;

* VBScript не требует, чтобы код скрипта был помещен внутрь блока Sub() или Function();

* нет команды Debug.Print (вместо нее можно использовать WScript.Echo);

Операторы VBScript

1. Арифметические операторы:

* сложение (+),

* вычитание (-),

* умножение (*),

* деление (/),

* возведение в степень (^).

* целочисленное деление (\),

* деление по модулю (Mod).

2. Оператор присваивания в VBScript - знак равенства (=). Не путать с оператором сравнения (тоже знак равенства)

3. Операторы сравнения в VBScript:

* равенство (=).

* больше, чем (>) и меньше, чем (<).

* больше или равно (>=) и меньше или равно (<=).

* не равно (<>).

* сравнение объектов (Is). Определяет, ссылаются объектные переменные на один и тот же объект или на разные.

Особенности сравнения строковых значений:

- при сравнении строковых значений учитывается регистр;

- пробелы в строковых значениях также учитываются;

Операторы сравнения всегда возвращают True (если утверждение истинно) или False (если утверждение ложно).

4. Логические операторы:

* And - логическое И.

* Or - логическое ИЛИ.

* Not - логическое отрицание.

* Xor - логическое исключение.

* Eqv - эквивалентность двух выражений,

* Imp - импликация.

5. Операторы конкатенации - (+) или (&).При использовании (&) производится автоматическое преобразование числовых значений в строковые, при использовании оператора (+) сложение строкового значения со значением типа Null дает Null.

Переменные и константы в VBScript

В VBScript все переменные объявляются как Variant.

Подтипы данных для типа Variant:

* числовые:

* Byte - целое число от 0 до 255;

* Integer - целое число от -32 768 до 32 767;

* Long - большое целое число от -2 147 483 648 до 2 147 483 647;

* Currency - большое десятичное число с 19 позициями, включая 4 позиции после запятой;

* Decimal - еще большее десятичное число с 29 позициями (после занятой можно использовать от 0 до 28 позиций);

* Single и Double - значения с плавающей запятой (Double в 2 раза больше));

* строковые (String переменной длины (~ до 2 млрд. символов) и фиксированной длины (~ до 65400 символов))

* дата и время (Date - от 01.01.100 до 31.12.9999);

* логический (Boolean - может хранить только значения True и False);

* объектный (Object - хранит ссылку на любой объект в памяти);

Запретить использовать переменные без явного их объявления можно с помощью выражения Option Explicit.

Dim - это область видимости переменной. Предусмотрено 3 ключевых слова для определения области видимости переменных:

Dim - используется в большинстве случаев. Если переменная объявлена как Dim в области объявлений модуля, то она будет доступна во всем модуле, если в процедуре - только на время работы этой процедуры.

Private - при объявлении переменных в стандартных модулях VBScript значит то же, что и Dim. Отличия проявляются только при создании своих классов.

Public - такая переменная будет доступна всем процедурам во всех модулях данного проекта, если вы объявили ее в области объявлений модуля. Если вы объявили ее внутри процедуры, она будет вести себя как Dim.

Правила выбора имен в VBScript едины для переменных, констант, функций, процедур:

* имя должно начинаться с буквы;

* не должно содержать пробелов и символов пунктуации (исключение - символ подчеркивания);

* максимальная длина - 255 символов;

* должно быть уникальным в текущей области видимости;

* не допускается использовать зарезервированные слова.

Рекомендуется использовать так называемое "венгерское" соглашение: имя переменной должно начинаться с префикса, записанного строчными буквами. Префикс указывает, что именно будет храниться в этой переменной:

* str (или s) - String, символьное значение;

* fn (или f) - функция;

* sub - процедура;

* c (или все буквы имени заглавные) - константа;

* b - Boolean, логическое значение (True или False);

* d - дата;

* obj (или o) - ссылка на объект;

* n - числовое значение;

Константы. В VBScript определяются при помощи ключевого слова Const.

При присвоении значений переменным нужно помнить о следующем:

* строковые значения всегда заключаются в двойные кавычки:

* значение дата/время заключается в символы "решетка" (#); при присвоении значения даты/времени "явным" способом приходится использовать принятые в США стандарты: #месяц/день/год#. Отображение этого значения будет зависеть от региональных настроек на компьютере пользователя;

* если нужно передать шестнадцатеричное значение, то перед ним ставятся символы (&H);

* для передачи восьмеричного значения (что случается намного реже) нужно использовать набор символов (&O).

Операторы условного перехода в VBScript

В VBScript существуют 2 оператора условного перехода: If...Then...Else и Select Case.

* Синтаксис If...Then...Else

If (условие) Then

действия

Else

действия

End If

Допускается конструкция ElseIf (условие 2)

* Синтаксис Select Case

Select Case переменная

Case значение 1

действия

Case значение 2

действия

....

Case Else

действия

End Select

Циклы в VBScript

В VBScript используются следующие синтаксические конструкции:

* For...Next

* For Each...Next

* Do While...Loop

* Do Until...Loop

* While...Wend

Рассмотрим их подробнее.

* Синтаксис For...Next:

For (переменная_счетчик = начальное_значение) To конечное_значение Step +/- Шаг

действия

Next

Для выхода используется конструкция If (условие) Then Exit For

* Для выполнения действия с каждым элементом массива(коллекции) используется синтаксис

For Each object In collection

действие

Next

* Синтаксис Do While....Loop и Do Until...Loop:

Do While (условие)

действия

Loop

Do Until (условие)

действия

Loop

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

Альтернативный синтаксис - условие после завершения цикла

Do

действия

Loop While (условие)

Немедленный выход из цикла - Exit Do

* While...Wend считается устаревшей и оставлена для обратной совместимости

While (условие)

действия

Wend

Процедуры и функции VBScript

синтаксический программирование оператор скрипт

В VBScript предусмотрено два типа процедур: процедуры (subroutines) - ключевое слово Sub, и функции (functions) - обозначаются ключевым словом Function. Единственное отличие - функции возвращают какое-либо значение. В обоих случаях процедуры - это блок программного кода. Определение процедуры или функции должно заканчиваться ключевыми словами End Sub или End Function Вызов процедуры или функции: Call имя_процедуры, слово Call можно пропустить. Параметры могут передаваться процедуре по ссылке или по значению. По ссылке - значение исходной переменной меняется, по значению - создается копия, а значение исходной переменной не меняется. По умолчанию в VBScript параметр передается по ссылке (ByRef). Если нужно передать по значению, можно использовать ключевое слово ByVal: Function имя_функции(ByVal имя_переменной)

Встроенные функции VBScript

1. Функции преобразования и проверки типов данных VBScript (C-convert, I-Is(type)):

* CBool() - преобразует переменную к типу Boolean;

* CByte() - преобразует переменную к типу Byte;

* CCur() - преобразует переменную к типу Currency;

* CDate() - преобразует переменную к типу Date;

* CDbl() - преобразует переменную к типу Double;

* CInt() - преобразует переменную к типу Integer;

* CLng() - преобразует переменную к типу Long;

* CSng() - преобразует переменную к типу Single;

* CStr() - преобразует переменную к типу String;

* TypeName() - которая возвращает имя используемого типа данных;

* IsNumeric();

* IsDate();

* IsArray();

* IsEmpty();

* IsError();

* IsMissing();

* IsNull();

* IsObject();

* Hex() - преобразовывают десятичные данные в строковое представление шестнадцатеричных значений;

* Oct() - преобразовывают десятичные данные в строковое представление восьмеричных значений.

2. Строковые функции (string functions) в VBScript:

* Asc() - возвращает числовой код символа;

* AscB() - возвращает первый байт числового кода символа;

* AscW() - возвращает код для символа в формате unicode;

* Chr(), ChrB(),ChrW() - возвращает символ по коду;

* InStr() - позволяет найти в теле строковой переменной последовательность символов и вернуть ее позицию. Поиск ведется с начала строки. Если ничего не найдено - возвращается 0;

* InStrRev() - выполняет то же самое что и InStr(), но поиск ведется с конца строки;

* Left() - позволяют взять из строковой последовательности указанное количество символов, считая слева;

* Right() - позволяют взять из строковой последовательности указанное количество символов, считая справа;

* Mid() - позволяют взять из строковой последовательности указанное количество символов, считая от указанной позиции;

* Len() - возвращает длину строки;

* LCase() - переводит строку в нижний регистр;

* UCase() - переводит строку в верхний регистр;

* LTrim() - убирает пробелы в начале строки;

* RTrim() - убирает пробелы в конце строки;

* Trim() - убирает пробелы в начале и конце строки;

* Replace() - производит замену подстроки на другую;

* Space() - возвращает строку указанной длины из пробелов;

* String() - возвращает строку указанной длинны из символов;

* StrComp() - сравнивает две строки;

* StrConv() - преобразует строку;

* StrReverse() - "переворачивает" последовательность символов строки в обратный порядок;

* Tab(). - вывод на экран указанного кол-ва символов табуляции (аналогично встроенной константе vbTab);

3. Числовые функции (numeric functions) в VBScript:

* Abs() - возвращает модуль числа;

* Int() - возвращает ближайшее целое;

* Fix() - отбрасывает дробную часть;

* Round() - округляет до указанного количества знаков после запятой;

* Rnd() и команда Randomize - используются для получения случайных значений. Синтаксис: случайное_число=Int(минимум + (Rnd()*максимум)). Перед использованием Rnd() необходимо инициализировать генератор случайных чисел командой Randomize;

* Sgn() - возвращает информацию о знаке числа. Возвращает -1 для отрицательного, +1 для положительного и 0 для 0.

4. Функции даты/времени (datetime functions) в VBScript:

* Date() - возвращает системную дату;

* Time() - возвращает системное время;

* Now() - возвращает дату и время. Установить их можно одноименными операторами, например: Date = #6/10/2009# (#Месяц/день/год#);

* DateAdd() - Добавляет к дате указанное число лет, месяцев и т.п.;

* DateDiff() - возвращает разницу между датами в единицах от лет до секунд;

* DatePart() - возвращает указанную часть даты (год, месяц, день недели и т.п.);

* DateSerial() - создает значение даты на основе передаваемых символьных значений. То же самое делает функция DateValue(), но при другом формате принимаемых значений. Аналогичным образом (для времени) работают TimeSerial() и TimeValue();

* Day() - возвращает день (аналогично соотв. DatePart());

* Year() - возвращает год;

* Month() - возвращает месяц;

* Weekday() - возвращает день недели;

* Hour() - возвращает час;

* Minute() - возвращает минуты;

* Second() - возвращает секунды;

* MonthName() - возвращает название месяца;

* Timer() - возвращает количество секунд, прошедших после полуночи.

5. Функции форматирования (formatting functions) в VBScript:

* Format() - синтаксис Format(выражение, "формат"), например: Format(2.505, "#,##0.00"). Аналогично для остальных функций;

* FormatNumber();

* FormatCurrency();

* FormatDateTime();

6. Функции для работы с массивами в VBScript:

* Array() - позволяет автоматически создать массив нужного размера и типа и сразу загрузить в него переданные значения;

* Filter() - позволяет на основе одного массива получить другой, отфильтровав в исходном массиве нужные нам элементы;

* LBound() - возвращают информацию о нижней границе массива (номер первого имеющегося в массиве значения);

* UBound() - возвращают информацию о верхней границе массива (номер последнего имеющегося в массиве значения)

* Join() - соединяет множество строк, составляющих массив, в одну строковую переменную. В качестве разделителя по умолчанию используется пробел, но можно указать и свой разделитель;

* Split() - функция, обратная Join().

7. Функции для взаимодействия с пользователем в VBScript:

* MsgBox(), константы [vbInformation, vbExclamation, vbCritical, vbQuestion] + [vbOKCancel, vbYesNo, vbAbortRetryIgnore]

* InputBox().

Пример использования MsgBox

Dim Response

Response = MsgBox("Нажмите кнопку", vbYesNo)

If Response = vbYes Then

' если нажали кнопу Yes

Else

' если нажали кнопу No

End If

Так же для взаимодействия с пользователем используются метод WshShell.Popup(), команда Beep.

Объекты, свойства и методы объектов

* Создание объекта:

Set Объектная_переменная = CreateObject(“Библиотека.Класс”)

* удаление объекта:

Set объект = Nothing

Методы объекта:

* простой вызов метода:

Объект.метод

При этом не возвращаются и не принимаются никакие параметры.

* второй способ:

объект.метод параметр1 [, параметр2,..., параметр]

Параметры передаются путем перечисления через запятую, скобки не используются.

* третий способ:

переменная = объект.метод (параметр1 [, параметр2,..., параметрn])

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

переменная = объект.метод()

Свойства объекта

* изменения свойства объекта:

Объект.Свойство = Значение

Значение может быть обычной константой, простым выражением, свойством другого объекта, возвращаемым значением какого либо метода.

* извлечение значение свойства:

Переменная = Объект.Свойство

Наиболее важные библиотеки/объектные модели, используемые в административных целях:

* Windows Script Host Object Model (wshom.exe) - работа с сетью, ярлыками, средой Windows и т.п.

* Microsoft Scripting Runtime (scrrun.dll) - классы для работы с файлами, папками, дисками, шифрованием и т.п.

* Microsoft ADO (набор файлов, начинающийся на msado) - классы для работы с базами данных;

* Microsoft SQLDMO Object Library (файл sqldmo.dll) - набор классов для контроля над Microsoft SQL Server (возможность производить любые административные операции, выполнять запросы и т.п.)

* Microsoft Office Object Library (mso.dll) и сопутствующие ей библиотеки отдельных приложений Office - наборы классов для работы с приложениями Office; (11.0 для Office 2003 и 12.0 для Office 2007)

* Internet Explorer Object Library (iexplore.exe) - библиотека классов для работы с Internet Explorer;

* Active Directory Scripting Interface (adsldp.dll, wldap32.dll, adsnt.dll, adsnds.dll, adsnw.dll) - взаимодействие с объектами в каталогах Active Directory, NT, NetWare и т.п.

* Microsoft WMI Scripting v1.1 (v.1.2 в Windows Vista) (wbemdisp.tlb) - расширение возможностей программ через программный интерфейс WMI.

Обработка ошибок

По умолчанию в случае возникновения в скрипте ошибки времени выполнения (Run-Time Errors) работа скрипта прекращается и выдается сообщение об ошибке. При помощи выражения On Error Resume Next (помещается в блок инициализации) можно изменить поведение среды выполнения - в случае возникновения ошибки выполнение продолжится со следующей строки. Чтобы узнать, какая именно Run-Time ошибка возникла, используется встроенный в VBScript объект Err.

Свойства объекта Err:

* Number - номер ошибки (свойство по умолчанию)

* Description - сообщение об ошибке, которое соответствует номеру.

Методы объекта Err:

* Clear - очистить все настройки свойств объекта Err (альтернативный вариант: Err = 0)

* Raise - сгенерировать ошибку (обычно используется при тестировании скрипта).

Выражение On Error Resume Next будет работать и в приложениях VB.NET, но в последнем для обработки исключений лучше использовать выражение Try...Catch.

Размещено на Allbest.ru


Подобные документы

  • Рассмотрение понятия и классификации Web-технологий. Основные требования к созданию главной страницы сайта, раздела "О нас", контента, привязанности. Определение направлений использования языков программирования HTML, PHP, JavaScript, VBScript, Perl.

    курсовая работа [49,3 K], добавлен 13.07.2010

  • Обзор программного обеспечения электронного магазина, использование языка программирования VbScript. Модельная и физическая структура, разработка регистрационной формы Web-сайта, подключение его к базе данных. Особенности создания страницы пользователя.

    курсовая работа [2,2 M], добавлен 03.04.2013

  • Знакомство с основами логического программирования на примере языка Prolog. Синтаксис его основных команд. Генеалогическое дерево с использованием предикатов. Хорновская логическая программа. Основные синтаксические объекты: атомы, константы и переменные.

    практическая работа [832,7 K], добавлен 20.11.2015

  • Изучение общей структуры языка программирования Delphi: главные и дополнительные составные части среды программирования. Синтаксис и семантика языка программирования Delphi: алфавит языка, элементарные конструкции, переменные, константы и операторы.

    курсовая работа [738,1 K], добавлен 17.05.2010

  • Создание приложения, исполняющего трансляцию программы из языка Паскаль в язык Си: разработка алгоритма реализации задачи, описание необходимых констант, переменных, функций и операторов, представление листинга программы и распечатка результатов.

    курсовая работа [305,9 K], добавлен 03.07.2011

  • Разработка программы конвертации синтаксиса одного языка высокого уровня на синтаксис другого. Особенности работы с классами, функциями, регулярными выражениями, формами. Использование для создания программы разных типов данных, массивов переменных.

    курсовая работа [567,9 K], добавлен 30.01.2016

  • История создания языка Java. Основные принципы объектно-ориентированного программирования. Структура, особенности синтаксиса и примеры прикладных возможностей использования языка Java, его преимущества. Перспективы работы программистом на языке Java.

    курсовая работа [795,9 K], добавлен 14.12.2012

  • Язык программирования Visual Basic: краткая история возникновения, значение и общая характеристика. Изучение основных свойств Visual Basic, синтаксис языка. Обзор ключевых операторов Visual Basic, пользовательские процедуры и функции данного языка.

    контрольная работа [36,4 K], добавлен 23.07.2014

  • Разработка прикладной программы для операций создания и уничтожения объектов в системе визуального объектно-ориентированного программирования C++Builder. Алгоритм работы программы, набор функций и операторов, компонент и модулей, кнопки событий.

    дипломная работа [672,5 K], добавлен 16.08.2012

  • Алфавит языка программирования C#. Лексемы языка программирования. Область действия переменных. Понятие классов и объектов. Структура программного модуля на С#. Управление процессом повторения вычислений. Продолжение цикла и модификация параметра цикла.

    курсовая работа [557,1 K], добавлен 10.03.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.