Шаг 61.
Типы данных

    На этом шаге мы рассмотрим типы данных.

    Начиная с этого шага, мы рассмотрим основные конструкции, используемые при написании сценариев на языке VBScript. Начнем изучение этих конструкций с типов данных.

    В VBScript определен только один тип данных — Variant. Этот тип данных предназначен для хранения различного типа информации. В простейшем использовании тип Variant содержит либо числовые данные, либо символьные строки — типы данных, наиболее часто встречаемые при написании сценария.

    Реально содержащиеся в вариантном типе данные могут быть одного из типов, называемых подтипами типа Variant представленных в таблице 1. Собственно говоря, эти подтипы охватываю все возможные типы данных, которые используются в языках Visual Basic и Visual Basic for Application.

Таблица 1. Подтипы данных, хранящиеся в типе Variant
Подтип Описание Функция преобразования к указанному типу
Boolean Содержит логические значения CBool
Byte Содержит целые числа в диапазоне от 0 до 255 CByte
Integer Содержит целые числа в диапазоне от -32768 до 32768 CInt
Currency Содержит значения в диапазоне от -922337203685477,5807 до 922337203685477,5807 CCur
Long Содержит целые числа в диапазоне от -2147483648 до 2147483 48 CLng
Single Содержит вещественные числа с плавающей точкой одинарной точности в диапазоне от -3.402823Е38 до -1.401298Е-45 для отрицательных значений и от 1.401298Е-45 до 3.402823Е38 для положительных значений CSng
Double Содержит вещественные числа с плавающей точкой удвоенной точности в диапазоне от -1.79769313486232Е308 до -4.94065645841247Е-324 для отрицательных значений и от 4.94065645841247Е-324 до 1.79769313486232Е308 для положительных значений CDbl
Date(Time) Содержит число, которое представляет дату в диапазоне от 1 января 100 года до 31 декабря 9999 года CDate
String Содержит строку переменной длины (до 2 миллионов символов) CStr

    Каждый подтип данных задается с помощью литералов (символьных констант).

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

    Вариантный тип данных предоставляет эффективный способ обработки и хранения данных, не заботясь о типе хранимых данных. Если, например, при вычислениях первоначально в переменной вариантного типа хранилось значение типа Byte (число в диапазоне от 0 до 255), то в результате выполнения некоторых действий это значение стало отрицательным, то просто изменится представление этого числа в переменной (оно станет типа integer) и не возникнет никакой ошибки. Правда, за это удобство приходится платить используемой памятью: для вариантного типа данных вне зависимости от хранимого подтипа нужно 16 байт памяти.

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

    В заключение отметим, что вариантная переменная может иметь несколько «специфических» значений:

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

<HTML>
<HEAD>
<TITLE>Типы данных.</TITLE>
<SCRIPT TYPE="text/vbscript"  LANGUAGE=VBScript>
<!--
  Sub Button1_OnClick()
    Dim A,B 'Явное описание переменных.
    B = "34" 'Присваивание строки.
    alert  "Строка B: "&B
    A = CInt(B) 'Преобразование строки в число.
    alert  "Число A: "&A
    C = A + B 'Перед сложением строка 
              'преобразуется в число.
    alert  "Их сумма: "&C
    D = CStr(C)
    E = B + D 'Сложение строк.
    alert  "Сумма строк: "&E
    F = #10/7/06 17:20pm# 'Дата.
    alert  "Пример даты: "&F
  End Sub
'-->
</SCRIPT>
</HEAD>
<BODY>
<H2> Пример использования типов данных.</H2>
<FORM>
<INPUT TYPE=BUTTON VALUE="Нажмите кнопку!" NAME=BUTTON1>
</FORM>
</BODY>
</HTML>

Текст этого HTML-документа можно взять здесь.


Рис.1. Результат просмотра документа в браузере

    Следующий шаг будет посвящен рассмотрению переменных, массивов и констант.




Предыдущий шаг Содержание Следующий шаг