Синтаксис 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