Глава 3. РАБОТА С ДАННЫМИ НА Web-СТРАНИЦАХ

Типы данных VBScript

Язык VBScript имеет отличие от Visual Basic и Visual Basic for Application в том, что имеет только один тип данных, который называется Variant. Этот тип данных может содержать как строковые (т.е. символы), так и числовые данные. Тип данных Variant делится на подтипы, которых всего 12. В VBScript существует целый ряд встроенных функций преобразования данных из одного подтипа в другой, которыми можно воспользоваться. Удобством использования функций преобразования является то, что независимо от того, какая функция используется, подтип преобразуемых параметров не имеет значения – важен только подтип, в который нужно преобразовать данную величину.  Таким образом, если значение задается в тексте сценария, то интерпретатор VBScript присваивает ему соответствующий подтип [2]. В том случае, если в сценарии необходимо анализировать подтип данных, а затем принимать соответствующее решение, тогда используют функцию VarType, синтаксис которой имеет следующий вид: VarType(имя_переменной). Имя_переменной – это идентификатор переменной, чей подтип необходимо определить. В таблице 2 представлены подтипы данных типа Variant и VBScript, а также перечислены возможные значения, возвращаемые функцией VarType, наименования подтипов данных и пояснения к ним. Рассмотрим ПРИМЕР6, в котором используется функция для преобразования данных отображенных в текстовом окне в символьном виде к подтипу двойной точности, где используется функция преобразования CDbl(). Для пользователя Web-приложения предлагается ввести данные в текстовые окна, а затем вызвать сценарий на VBScript, чтобы провести перемножение данных и возвести результат в квадрат. На рис. 10 показан пример создания Web-страницы, а на рис. 11 – результат проведенных вычислений, который отображается в диалоговом окне.

Таблица 3. Подтипы данных типа Variant в VBScript

Возвращаемое значение функцией VarType

Подтип данных

Пояснения

0

Empty

Автоматически присваивается новым переменным при их объявлении, например,

Dim Perem1

Perem1=2,5

1

Nul

Указывает на то, что переменная не содержит допустимых данных (при анализе используется для определения недопустимог значения в переменной)

2

Integer

Целое число, находится в диапазоне от -32768 до 32768

3

Long Integer

Длинное целое число от -2147483648 до 2147483647

4

Single

Число одинарной точности с плавающей точкой

5

Double

Число двойной точности с плавающей точкой

6

Currence

Денежная величина, имеет специальный числовой формат для хранения денежных величин

7

Date

Дата или время – содержит число в специальном формате для отображения даты или времени

8

String

Строка символов, подтип может содержать неограниченное количество символов (до миллиарда)

9

OLE Automation Object

Данные этого подтипа содержат ссылку на объект. Объектом может служить элемент управления ActiveX или встроенный объект HTML

10

Error

Подтип предназначен для хранения номеров ошибок, такие номера автоматически генерируются VBScript

11

Boolean

Логическое значение: True или False

12

Array of Variant

Массив данных, в котором не определен подтип данных

13

Data Access Object

Объект к котором осуществляется доступ из программы

17

Byte

Может представлять 256 целых чисел в диапазоне от 0 до 255, допустимо только положительное число

8192

Array

Массив данных для которого необходимо зарезервировать место памяти, например,

Dim NovMassiv(4) обозначает, что выделено место для 5 элементов с одним и тем же именем NovMassiv

 

Рис. 10. Приложение для выполнения вычислений на Web-странице

 

Рис. 11. Результат преобразования данных, введенных в виде символов

В рассматриваемом примере, для демонстрации того, что VBScript позволяет оперировать с данными, которые были преобразованы из общего типа Variant в другой подтип данных, который передается другим, не объявленным переменным (принцип наследования объектного подхода), создано две процедуры. Первая процедура Sub kn_OnClick запускается после нажатия на кнопку с наименованием «Посмотреть». Результатами работы этой процедуры являются два процесса. Сначала  по оператору Call идет обращение к процедуре Sub summa(a), в которой осуществляется преобразование данных в числа с двойной точностью и их сложение (переменная a), а затем параметр a возвращается в исходную процедуру, в которой продолжаются вычисления, в частности, переменной b присваивается результат – возведение в квадрат суммы двух чисел. Программные коды сценария обработки событий показаны в листинге 7.

Листинг 7.

<HTML>

  <HEAD>

    <TITLE>Передача параметров</TITLE>

   <SCRIPT Language="VBSCript">

      Sub summa(a)

          t1=CDbl(document.f1.chislo1.value)

          t2=CDbl(document.f1.chislo2.value)

           a=t1+t2

       End sub

      Sub kn_OnClick  

         Call summa(a) ' Обращение к другой процедуре

         b=a*a

         Alert ("Сумма= " & a & " В квадрате= " & b)

      End Sub

     </SCRIPT>

  </HEAD>

<FORM Name="f1">

Введите числа в окна<BR> 

  <INPUT TYPE="text" NAME="chislo1"><BR>

  <INPUT TYPE="text" NAME="chislo2"><BR>

  <INPUT TYPE="button" NAME="kn" VALUE="Посмотреть"><BR>

</FORM>

</HTML>

 

Oglav.gifSled.gif

 

Hosted by uCoz