|
|
| (не показана 31 промежуточная версия 1 участника) |
| Строка 1: |
Строка 1: |
| − | Наверное нет языка программирования проще, чем VBScript – Visual Basic Scripting Edition. Даже начинающий программист способен освоить его за два-три дня, а человек знакомый с Visual Basic или Visual Basic for Applications (VBA) практически сразу может приступать к работе. Ниже приведены основные сведения по синтаксису языка, дано описание операторов и встроенных функций. К сожалению, обработка ошибок в VBScript реализована на очень примитивном уровне. Разработчики не предусмотрели конструкций для обработки исключительных ситуаций, таких как try-except и try-finally в Delphi. В разделах "!!!" и "!!!" мы рассмотрим способы преодоления этих ограничений. | + | Наверное нет языка программирования проще, чем VBScript – Visual Basic Scripting Edition. Даже начинающий программист способен освоить его за два-три дня, а человек знакомый с Visual_Basic Visual Basic или Visual_Basic_for_Applications Visual Basic for Applications (VBA) практически сразу может приступать к работе. Ниже приведены основные сведения по синтаксису языка, дано описание операторов и встроенных функций. К сожалению, обработка ошибок в VBScript реализована на очень примитивном уровне. Разработчики не предусмотрели конструкций для обработки исключительных ситуаций, таких как try-except и try-finally в Delphi. В разделах [[VBScript. Обработка ошибок|Обработка ошибок]] и [[VBScript. Использование TCreator|Использование TCreator]] мы рассмотрим способы преодоления этих ограничений. |
| | | | |
| − | VBScript является интерпретируемым языком. За выполнение программы отвечает Windows Script Host, который поставляется в составе операционной системы начиная с версии Windows 98. На момент написания данной книги, последняя версия VBScript имела номер 5.7 и поставлялась в составе Windows Vista. Обновления для предыдущих версий операционной системы можно скачать с сайта компании Microsoft. | + | VBScript является интерпретируемым языком. За выполнение программы отвечает Windows Script Host, который поставляется в составе операционной системы начиная с версии Windows 98. На момент написания данной книги, последняя версия VBScript имела номер 5.8 и поставлялась в составе Windows 7. Обновления для предыдущих версий операционной системы можно скачать с сайта компании [http://msdn.microsoft.com/en-us/library/t0aew7h6%28VS.85%29.aspx Microsoft]. |
| | | | |
| − | === Подготовительные мероприятия === | + | == Содержание == |
| | | | |
| − | Учебные примеры мы будем выполнять в Гедымине, для чего создадим глобальный макрос согласно приведенным ниже инструкциям:
| + | * [[VBScript. Подготовительные мероприятия|Подготовительные мероприятия]] |
| | + | * [[VBScript. Основы VBScript|Основы VBScript]] |
| | + | * [[VBScript. Встроенные функции|Встроенные функции]] |
| | + | * [[VBScript. Обработка ошибок|Обработка ошибок]] |
| | + | * [[VBScript. Использование TCreator|Использование TCreator]] |
| | | | |
| − | # Запустим Гедымин;
| + | === См. также === |
| − | # Подключимся к демонстрационной базе данных под учетной записью Administrator;
| + | |
| − | # Откроем окно Редактора скрипт-объектов;
| + | |
| − | # Создадим новый глобальный макрос под названием "Test VBScript";
| + | |
| − | # В поле Наименование функции введем TestVBScript.
| + | |
| | | | |
| − | http://gsbelarus.com/gs/images/gs/2009/book/VBScript1.png | + | * [http://ru.wikipedia.org/wiki/Visual_Basic_Script Visual Basic Scripting Edition] |
| − | | + | * [http://ru.wikipedia.org/wiki/Visual_Basic Visual Basic] |
| − | == Основы VBScript ==
| + | * [http://ru.wikipedia.org/wiki/Visual_Basic_for_Applications Visual Basic for Applications (VBA)] |
| − | | + | |
| − | === Типы данных ===
| + | |
| − | | + | |
| − | В языке VBScript используется единственный тип данных – Variant (Вариант), который позволяет хранить в переменной число, строку, дату, булевское значение, ссылку на объект и другую информацию. Определить тип содержимого переменной можно с помощью набора функций: [[VBScript. Функция VarType|VarType]], TypeName, IsArray, IsDate, IsEmpty, IsNull, IsNumeric, IsObject, которые будут рассмотрены ниже. Тип содержащейся информации еще называется подтипом варианта. Полный список подтипов приведен в следующей таблице:
| + | |
| − | | + | |
| − | {| class="wikitable" border="1"
| + | |
| − | ! Подтип !! Описание
| + | |
| − | |-
| + | |
| − | | Empty || Переменной не присвоено значение. При использовании неинициализированной переменной в числовых выражениях, будет подставляться 0, а в строковых – пустая строка.
| + | |
| − | |-
| + | |
| − | | Null || Переменная не содержит данных.
| + | |
| − | |-
| + | |
| − | | Boolean || Булевская переменная может принимать значения True, или False.
| + | |
| − | |-
| + | |
| − | | Byte || Целое число в диапазоне от 0 до 255.
| + | |
| − | |-
| + | |
| − | | Integer || Целое число в диапазоне от -32 768 до 32 767.
| + | |
| − | |-
| + | |
| − | | Currency || Число с фиксированной точкой в диапазоне от -922 337 203 685 477.5808 до 922 337 203 685 477.5807.
| + | |
| − | |-
| + | |
| − | | Long || Целое число в диапазоне от -2 147 483 648 до 2 147 483 647.
| + | |
| − | |-
| + | |
| − | | Single || Число с плавающей точкой одинарной точности. Для отрицательных значений допустимый диапазон
| + | |
| − | от -3.402823E38 до -1.401298E-45. Для положительных – от 1.401298E-45 до 3.402823E38.
| + | |
| − | |-
| + | |
| − | | Double || Число с плавающей точкой двойной точности. Для отрицательных значений допустимый диапазон от
| + | |
| − | -79769313486232E308 до -4.94065645841247E-324. Для положительных -- от 4.94065645841247E-324 до 1.79769313486232E308.
| + | |
| − | |-
| + | |
| − | | Date (Time) || Содержит число, представляющее дату в диапазоне от 1-го января 100 года, до 31 декабря 9999 года.
| + | |
| − | |-
| + | |
| − | | String || Последовательность символов. Максимальная длина в районе 2-х миллиардов знаков.
| + | |
| − | |-
| + | |
| − | | Object || Объект.
| + | |
| − | |-
| + | |
| − | | Error || Номер ошибки.
| + | |
| − | |}
| + | |
| − | | + | |
| − | В зависимости от выражения, в котором участвует переменная, ее содержимое будет автоматически приведено к нужному типу. Рассмотрим такой пример:
| + | |
| − | | + | |
| − | Option Explicit
| + | |
| − | Sub TestVBScript
| + | |
| − |
| + | |
| − | Dim A, B
| + | |
| − | A = 5
| + | |
| − | B = "12"
| + | |
| − | Application.MessageBox A + B, "", vbOkOnly
| + | |
| − |
| + | |
| − | End Sub
| + | |
| − | | + | |
| − | Так как в выражении участвует числовая переменная '''A''', интерпретатор преобразует значение переменной '''B''' из строки '''"12"''' в число и просуммирует их:
| + | |
| − | | + | |
| − | http://gsbelarus.com/gs/images/gs/2009/book/VBScript.DataTypes.1.png | + | |
| − | | + | |
| − | Изменим макрос так, чтобы переменная '''А''' тоже содержала строку:
| + | |
| − | | + | |
| − | Option Explicit
| + | |
| − | Sub TestVBScript
| + | |
| − |
| + | |
| − | Dim A, B
| + | |
| − | A = "5"
| + | |
| − | B = "12"
| + | |
| − | Application.MessageBox A + B, "", vbOkOnly
| + | |
| − |
| + | |
| − | End Sub
| + | |
| − | | + | |
| − | Запустим его на выполнение. Теперь на экране появится результат слияния (конкатенции) двух строк, а не сумма их числовых представлений:
| + | |
| − | | + | |
| − | http://gsbelarus.com/gs/images/gs/2009/book/VBScript.DataTypes.2.png | + | |
| − | | + | |
| − | Во избежании путаницы с автоматическим приведением типов, рекомендуется использовать функции конверсии: CBool, CByte, CCur, CDate, CDbl, CInt, CLng, CSng, CStr.
| + | |
| − |
| + | |
| − | Если результатом выражения должно быть именно слияние строк, а не сумма их числовых представлений, то следует использовать оператор & вместо +.
| + | |
| − | | + | |
| − | === Переменные ===
| + | |
| − | | + | |
| − | Переменная – это удобное символьное обозначение области памяти, где приложение хранит некоторые данные. В процессе выполнения приложения значение переменной может изменяться. Перед использованием переменную следует объявить с помощью оператора Dim.
| + | |
| − | | + | |
| − | Dim A
| + | |
| − | | + | |
| − | С помощью одного оператора можно объявить сразу несколько переменных, если перечислить их имена через запятую:
| + | |
| − | | + | |
| − | Dim Left, Right, Top, Bottom
| + | |
| − | | + | |
| − | При объявлении нет необходимости в указании типа данных, так как все переменные имеют тип Variant.
| + | |
| − | | + | |
| − | ''Если в первой строке текста скрипта не указано Option Explicit, то использовать переменные можно без объявления. Но, такой путь может привести к трудно выявимым ошибкам. Достаточно один раз ошибиться в написании имени переменной в тексте программы, чтобы получить непредсказуемый результат. Мы рекомендуем всегда указывать Option Explicit и объявлять переменные.''
| + | |
| − | | + | |
| − | Имя переменной должно соответствовать следующим требованиям:
| + | |
| − | | + | |
| − | # Начинаться с символа латинского алфавита;
| + | |
| − | # Состоять только из символов латинского алфавита или из символов латинского алфавита и цифр;
| + | |
| − | # Не превышать 255 символов в длину;
| + | |
| − | # Быть уникальным в пределах своей области видимости.
| + | |
| − | | + | |
| − | === Область видимости и время жизни ===
| + | |
| − | | + | |
| − | Область видимости переменной определяется тем, где она была объявлена. Если внутри тела процедуры<ref>Очевидно, что сказанное в раной мере применимо и к функциям.</ref>, то такая переменная называется локальной и доступна только в пределах этой процедуры. Если переменная объявлена в тексте скрипта, то она будет видима для всех процедур или функций определенных в этом скрипте. Локальные переменные могут иметь одинакове имена, если объявлены в разных процедурах.
| + | |
| − | | + | |
| − | ''В дереве Проводника окна Редактора скрипт-объектов присутствует специальный раздел – Константы и переменные – для объявления глобальных переменных, видимых для всех скрипт-функций проекта.''
| + | |
| − | | + | |
| − | Интерпретатор выделяет память для локальных переменных в момент их объявления и высвобождает по выходу из процедуры. Глобальные переменные существуют с момента их объявления и пока скрипт не закончит свое выполнение. Применительно к Гедымину это означает, что глобальные переменные существуют на протяжении всего времени выполнения программы.
| + | |
| − | | + | |
| − | | + | |
| − | | + | |
| − | <references/>
| + | |
| | | | |
| | [[Category:VBScript]] | | [[Category:VBScript]] |
| | [[Category:Книга]] | | [[Category:Книга]] |
Наверное нет языка программирования проще, чем VBScript – Visual Basic Scripting Edition. Даже начинающий программист способен освоить его за два-три дня, а человек знакомый с Visual_Basic Visual Basic или Visual_Basic_for_Applications Visual Basic for Applications (VBA) практически сразу может приступать к работе. Ниже приведены основные сведения по синтаксису языка, дано описание операторов и встроенных функций. К сожалению, обработка ошибок в VBScript реализована на очень примитивном уровне. Разработчики не предусмотрели конструкций для обработки исключительных ситуаций, таких как try-except и try-finally в Delphi. В разделах Обработка ошибок и Использование TCreator мы рассмотрим способы преодоления этих ограничений.
VBScript является интерпретируемым языком. За выполнение программы отвечает Windows Script Host, который поставляется в составе операционной системы начиная с версии Windows 98. На момент написания данной книги, последняя версия VBScript имела номер 5.8 и поставлялась в составе Windows 7. Обновления для предыдущих версий операционной системы можно скачать с сайта компании Microsoft.