Язык программирования VBScript

Материал из GedeminWiki
(Различия между версиями)
Перейти к: навигация, поиск
(Типы данных)
(Типы данных)
Строка 88: Строка 88:
 
   
 
   
 
Если результатом выражения должно быть именно слияние строк, а не сумма их числовых представлений, то следует использовать оператор & вместо +.
 
Если результатом выражения должно быть именно слияние строк, а не сумма их числовых представлений, то следует использовать оператор & вместо +.
 +
 +
=== Переменные ===
 +
 +
Переменная – это удобное символьное обозначение области памяти, где приложение хранит некоторые данные. В процессе выполнения приложения значение переменной может изменяться. Перед использованием переменную следует объявить с помощью оператора Dim.
 +
 +
  Dim A
 +
 +
С помощью одного оператора можно объявить сразу несколько переменных, если перечислить их имена через запятую:
 +
 +
  Dim Left, Right, Top, Bottom
 +
 +
При объявлении нет необходимости в указании типа данных, так как все переменные имеют тип Variant.
 +
 +
''Если в первой строке текста скрипта не указано Option Explicit, то использовать переменные можно без объявления. Но, такой путь может привести к трудно выявимым ошибкам. Достаточно один раз ошибиться в написании имени переменной в тексте программы, чтобы получить непредсказуемый результат. Мы рекомендуем всегда указывать Option Explicit и объявлять переменные.''
 +
 +
Имя переменной должно соответствовать следующим требованиям:
 +
 +
# Начинаться с символа латинского алфавита;
 +
# Состоять только из символов латинского алфавита или из символов латинского алфавита и цифр;
 +
# Не превышать 255 символов в длину;
 +
# Быть уникальным в пределах своей области видимости.
 +
  
 
[[Category:VBScript]]
 
[[Category:VBScript]]
 
[[Category:Книга]]
 
[[Category:Книга]]

Версия 19:23, 11 мая 2009

Наверное нет языка программирования проще, чем VBScript – Visual Basic Scripting Edition. Даже начинающий программист способен освоить его за два-три дня, а человек знакомый с Visual Basic или Visual Basic for Applications (VBA) практически сразу может приступать к работе. Ниже приведены основные сведения по синтаксису языка, дано описание операторов и встроенных функций. К сожалению, обработка ошибок в VBScript реализована на очень примитивном уровне. Разработчики не предусмотрели конструкций для обработки исключительных ситуаций, таких как try-except и try-finally в Delphi. В разделах "!!!" и "!!!" мы рассмотрим способы преодоления этих ограничений.

VBScript является интерпретируемым языком. За выполнение программы отвечает Windows Script Host, который поставляется в составе операционной системы начиная с версии Windows 98. На момент написания данной книги, последняя версия VBScript имела номер 5.7 и поставлялась в составе Windows Vista. Обновления для предыдущих версий операционной системы можно скачать с сайта компании Microsoft.

Содержание

Подготовительные мероприятия

Учебные примеры мы будем выполнять в Гедымине, для чего создадим глобальный макрос согласно приведенным ниже инструкциям:

  1. Запустим Гедымин;
  2. Подключимся к демонстрационной базе данных под учетной записью Administrator;
  3. Откроем окно Редактора скрипт-объектов;
  4. Создадим новый глобальный макрос под названием "Test VBScript";
  5. В поле Наименование функции введем TestVBScript.

VBScript1.png

Основы VBScript

Типы данных

В языке VBScript используется единственный тип данных – Variant (Вариант), который позволяет хранить в переменной число, строку, дату, булевское значение, ссылку на объект и другую информацию. Определить тип содержимого переменной можно с помощью набора функций: VarType, TypeName, IsArray, IsDate, IsEmpty, IsNull, IsNumeric, IsObject, которые будут рассмотрены ниже. Тип содержащейся информации еще называется подтипом варианта. Полный список подтипов приведен в следующей таблице:

Подтип Описание
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" в число и просуммирует их:

VBScript.DataTypes.1.png

Изменим макрос так, чтобы переменная А тоже содержала строку:

 Option Explicit
 Sub TestVBScript

   Dim A, B
   A = "5"
   B = "12"
   Application.MessageBox A + B, "", vbOkOnly

 End Sub

Запустим его на выполнение. Теперь на экране появится результат слияния (конкатенции) двух строк, а не сумма их числовых представлений:

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 и объявлять переменные.

Имя переменной должно соответствовать следующим требованиям:

  1. Начинаться с символа латинского алфавита;
  2. Состоять только из символов латинского алфавита или из символов латинского алфавита и цифр;
  3. Не превышать 255 символов в длину;
  4. Быть уникальным в пределах своей области видимости.
Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты