Типы данных VBScript
Для работы с любым языком программирования в первую очередь необходимо хотя бы в
общих чертах изучить его синтаксис и типы данных. В этом разделе коротко расскажем
о типах данных, которые используются в VBSCript.
Вообще-то VBScript имеет только один тип данных, который называется
Variant.
Тип Variant – это специальный тип данных, который может содержать данные различных типов.
То есть вам нет необходимости объявлять переменную конкретного типа. Достаточно
просто объявить имя переменной, а какие данные будут в этой переменной - интерпретатор
определит автоматически во время выполнения скрипта.
Тип Variant может содержать как числовые, так и строковые данные. Данные интерпретируются
как числовые, когда в вашей программе вы используете их в математических выражениях и
как текстовые, когда вы используете их при работе со строками. Таким образом,
если VBScript распознаёт ваши данные как числовые, то с этими данными можно
работать как с числами. Если же данные содержат символы, отличные от применяемых в
числах, то эти данные интерпретируются как строковые. Если вы хотите, чтобы
числовые данные интерпретировались VBScript как строковые, то вы должны заключать
их в двойные кавычки (" ").
Например, мы объявили переменную
Num.
Тогда в скрипте мы можем использовать её следующим образом:
Num = 5 + 10
Num = "Результат: " & Num
MsgBox Num
Этот скрипт выполнится без ошибки. В первой строке мы используем переменную
Num
как целое число. Интерпретатор это определяет по операнду "+", то есть операция
"5 + 10" - это операция сложения чисел, результатом которой будет число 15.
Следующая строка - это операция сложения строк, интерпретатор определяет это по
операнду "&", который используется при сложении строк. Результатом этой операции уже будет
НЕ ЧИСЛО, а СТРОКА "15", которую мы и выводим на экран с помощью функции
MsgBox.
А вот если бы в этом скрипте вместо
Num = "Результат: " & Num
мы бы написали
Num = "Результат: " + Num
то скрипт не был бы выполнен и вы бы получили сообщение об ошибке, потому что
нельзя с помощью математических операндов складывать строки.
Так как VBScript имеет только один тип данных Variant, то и все функции VBScript также
всегда возвращают данные типа Variant.
Variant: подтипы
Кроме простых числовых и строковых типов данных Variant включает в себя различные
представления числовой информации. Например, вы можете оперировать числовой информацией,
которая представляет дату и время. Если используются данные типа даты и времени,
то результат всегда представляется как дата или время. Вы можете также использовать
различную числовую информацию в широком диапазоне значений от типа Boolean до чисел с
плавающей точкой. Эти категории данных, которые могут содержаться в типе Variant
называются подтипами. Однако учтите, что вы можете работать с этими данными,
только используя тип Variant, и тип Variant должен вести себя в соответствии
с подтипом данных, который в нем содержится.
Впрочем,
VBScript позволяет очень вольно обращаться с данными. Например, такой код
будет выполнен без сообщений об ошибках:
Num = True
Num = Num + 10
Хотя на первый взгляд может показаться, что логические переменные нельзя складывать
с целочисленными. Оказывается, что в VBScript это вполне допустимо, вот только результат может
оказаться для вас неожиданным. Поэтому, несмотря на все преимущества использования типа
Variant, делать это нужно с умом, понимая возможные последствия автоматического
преобразования типов.
В следующей таблице приведены типы данных, которые могут содержаться в типе Variant.
Подтип |
Описание |
Empty |
Инициализация типа Variant. Содержит 0 для числовых значений и пустую строку (“”) для строковых значений. |
Null |
Не содержит никаких значащих данных. |
Boolean |
Логический тип, может принимать значения True (истина) или False (ложь) |
Byte |
Целое число в диапазоне 0…255. |
Integer |
Целое число в диапазоне -32768…32767 |
Currency |
Денежный тип, диапазон от -922337203685477,5808 до 922337203685477,5807. |
Long |
Целое число в диапазоне -2147483648…2147483647 |
Single |
Число с плавающей точкой в диапазоне от -3.402823E38 до -1.401298E-45 для отрицательных значений и от 1.401298E-45 до 3.402823E38 для положительных значений. |
Double |
Число с плавающей точкой в диапазоне от -1.79769313486232E308 до -4.94065645841247E-324 для отрицательных значений и от 4.94065645841247E-324 до 1.79769313486232E308 для положительных значений. |
Date (Time) |
Числовое значение, которое представляет дату в диапазоне от 1-го января 100 года до 31 декабря 9999 года. |
String |
Строка переменной длины, которая может быть длиной до 2 миллиардов символов. |
Object |
Объект. |
Error |
Код ошибки. |
Вы можете использовать стандартные функции преобразования типов для преобразования
данных из одного подтипа в другой. Кроме того, функция VarType возвращает
информацию о том, какие данные хранятся в вашей переменной типа Variant.