» Изучение
VBScript
» Главная
страница
»
VBScript
- оглавление
Работа
с переменными
Переменная
-- это помеченная область в
компьютерной памяти, которую
вы можете использовать для сохранения
данных во время выполнения сценария.
Вы можете исползовать переменные
для :
сохранения
введенной пользователем информации;
сохранения
данных, возвращенных функциями;
сохранени
ярезультатов вычислений;
Объявление
переменных
Есть
два метода задания переменных
в VBScript, явный и неявный.
Обычно переменные задаются явно,
с помощью оператора Dim:
Dim
Name
Эта
конструкция задает переменную
Name. Вы также можете задать
несколько переменных в одной
строке, как это показано ниже,
но лучше каждую переменную объявить
отдельно.
Dim
Name, Address, City, State
Переменные
могут быть заданы неявно, просто
появлением имени переменной
внутри сценария. Это не рекомендуется,
так как приводит к возможным
ошибкам и делае сценарий более
сложным для отладки.
Вы
можете сделать так, чтобы интерпритатор
требовал явного задания переменных
с помощью конструкции Option
Explicit в начале сценария.
Любая переменная, не заданная
явно,будет интерпритирована
как ошибочная.
Правила
для названия переменных
При
выборе названия для переменно
используйте следующие правила:
оно
должно начинаться с буквы;
оно
не должно содержать пробелов;
оно
должно быть уникальным внутри
своей сферы влияния. О сферах
влияния будеи сказано позже
в этом уроке;
оно
не должно содержать больше 255
символов;
Варианты
и подтипы
В
VBScript есть лишь один тип
данных, названный вариантом.
Варианты могут хранить данные
различного типа. Типы данных,
которые могут сохранятся в варианте,
называются подтипами. В таблице
ниже описаны подтипы, поддерживаемые
VBScript.
Подтип
Описание
Boolean
True или False
Byte
Целое число от 0 до 255
Currency
Денежные значения
Date
Дата и время
Double
Вещественное число двойной точности
Empty
Значение, хранимое вариантом
до передачи ему данных
Error
Номер ошибки
Integer
Длинное целое от -32768 до 32767
Long
Крайне длинное целое от -2147483648
до 2147483647
Null
Неинтерпритируемые данные
Object
Объекты
Single
Вещественное обычной точности
String
Строковая переменная
Присваивание
значений
Присвоить
значение переменной вы можете
с помощью следующей конструкции:
Имя_переменной
= значение
Например:
Name
= "Larry Laffer"
HoursWorked
= 50
OverTime
= True
Сферы
влияния переменных
Сфера
влияния переменных определяет,
где переменная может быть испоьзована
в сценарии. Сфера влияния переменной
определяется местом ее объявления.
Если переменная объявлена внутри
процедуры, она называется внутренней
переменной процедуры и может
быть использована только внутри
процедуры. Если переменная объявлена
вне процедур, она становится
глобальной и может быть вызвана
и использована в любом месте
сценария.
Следующий
пример показывает объявление
переменных обоих видов:
<SCRIPT>
Dim
counter
Sub
cmdButton_onClick()
Dim
Temp
End
Sub
</SCRIPT>
Переменная
counter -- глобальная переменная.
Она может использоваться в течение
всей работы сценария. Переменная
temp существует лишь внутри
процедуры cmdButton_onClick.
Константы
VBScript
поддерживает массивы. Объявляется
массив с помощью операнда Dim,
так же, как и переменные.
Dim
States(50)
Эта
конструкция создает массив,
содержащий 51 элемент. Почему
51, спросите вы. Ответ состоит
в том, что все массивы в VBScript
начинаются с нулевого элемента,
а число в скобках определяет
номер последнего элемента массива.
Значения
элементам массива присваиваются
также, как любым другим переменным,
но за именим массивав скобках
должен стоять номер элемента:
States(5)
= "California"
States(6)
= "New York"
Массив
может быть многомерным -- VBScript
подднрживает до 60 измерений.
Ниже показано задание двухмерного
массива для хранения названий
51 штата и, например их столиц:
Dim
States(50,1)
Теперь
для присваивания значений внутри
массива вы должны воспользоваться
номерами по обоим измерениям:
States
(6, 0) = "New York"
States
(6, 1) = "Michigan"
VBScript
также поддерживает динамические
массивы - массивы, размер которых
может изменяться по ходу сценария.
Такие массивы задаются без
указания размера в скобках:
Dim
Customers( )
Для
изменения размера массива используется
конструкция ReDim
ReDim
Customers (100)
Размер
массива может изменяться неограниченное
количество раз. Для сохранения
информации, которая в нем уже
есть, используется ключевое
слово Preserve.
ReDim
Preserve Customers (100)
Второе
упражнение по языку VBScript
В
этом упражнении мы создадаим
страницу, на которой производится
простое вычисление на основе
цен на продукцию, ее колличества
и комиссионных. При этом вы
узнаете больше об использовании
переменных в VBScript. В этом
упражнении вы создадите документ
HTML, содержащий сценарий, который
получит информацию от пользователя,
осуществит на ее основе вычисления
и выдаст на страницу результат.
Полная версия этой части упражнения
находится в файле p0002а.htm.
Создание
документа
Откройте
текстовый редактор и вставьте
следующий код HTML:
<HTML>
<HEAD>
<TITLE>Работа
в VBScript: Упражнение 2</TITLE>
</HEAD>
<BODY>
<H1>Ваше
второе упражнение по VBScript</H1>
<P>Переменные
могут использоваться, чтобы
сохранять и управлять значениями.
Просмотреть
демонстрацию этого можно введя
количество и цену единицы товара
в
поля ниже и нажав кнопку "Вычислть
стоимость". </P>
<FORM
NAME="frmExercise2">
<TABLE>
<TR>
<TD><B>Колличество:</B></TD>
<TD><INPUT
TYPE="Text" NAME="txtQuantity"
SIZE=5></TD>
</TR>
<TR>
<TD><B>Цена
устройства:</B></TD>
<TD><INPUT
TYPE="Text" NAME="txtUnitPrice"
SIZE=5></TD>
</TR>
</TABLE>
<BR>
<INPUT
TYPE="Button" NAME="cmdCalculate"
VALUE="Вычислить стоимость">
</FORM>
</BODY>
</HTML>
Сохраните
файл и загрузите его в Internet
Explorer. Результат будет таким.
В
этой части добавим сценарий,
для того чтобы "нажатие"
кнопки Вычислить стоимость приводило
к ее вычислениям. Полная версия
новой части упражнения находится
в файле p0002b.htm.
Добавление
VBScript
Вновь
откройте созданный документ.
Измените его, добавив выделенные
строки.
Заметим
что апострофы ( ' ) обозначают
комментарий, а знак ( _ ) на
конце строки обозначает, что
следующая строка будет продолжена
текущей.
<HTML>
<HEAD>
<TITLE>Работа
с VBScript: Упражнение 2</TITLE>
<SCRIPT
LANGUAGE="VBScript">
<!--Эта
инструкция добавляется для броузеров,
не понимающих модули VBScript.
Option
Explicit
Sub
cmdCalculate_OnClick()
Dim
AmountofTax
Dim
CRLF
Dim
Message
Dim
Subtotal
Dim
TABSPACE
Dim
TAX_RATE
Dim
TotalCost
'Присваивание
значений константам
TAX_RATE
= 0.06
CRLF
= Chr(13) & Chr(10)
TABSPACE
= Chr(9)
'Вычисления
Subtotal
= document.frmExercise2.txtQuantity.value
_
*
Document.frmExercise2.txtUnitPrice.value
AmountofTax
= Subtotal * TAX_RATE
TotalCost
= Subtotal + AmountofTax
'Отражение
результатов.
Message
= "Общее количество для
вашего ввода:"
Message
= Message & CRLF & CRLF
Message
= Message & "Промежуточная
сумма:" & TABSPACE
& "$" & Subtotal
& CRLF
Message
= Message & "Налог:"
& TABSPACE & "$"
& AmountofTax & CRLF
Message
= Message & "Итого:"
& TABSPACE & "$"
& TotalCost
MsgBox
Message,,"Итог"
End
Sub
-->
</SCRIPT>
</HEAD>
<BODY>
<H1>Ваше
второе упражнение по VBScript</H1>
<P>Переменные
могут использоваться, чтобы
сохранять и управлять значениями.
Просмотреть
демонстрацию этого можно введя
количество и цену единицы товара
в
поля ниже и нажав кнопку "Вычислть
стоимость". </P>
<FORM
NAME="frmExercise2">
<TABLE>
<TR>
<TD><B>Колличество:</B></TD>
<TD><INPUT
TYPE="Text" NAME="txtQuantity"
SIZE=5></TD>
</TR>
<TR>
<TD><B>Цена
устройства:</B></TD>
<TD><INPUT
TYPE="Text" NAME="txtUnitPrice"
SIZE=5></TD>
</TR>
</TABLE>
<BR>
<INPUT
TYPE="Button" NAME="cmdCalculate"
VALUE="Вычислить стоимость">
</FORM>
</BODY>
</HTML>
Сохраните
файл и загрузите его в Internet
Explorer. Введите 100 в поле
Колличество и 10 -- в поле Цена
устройства. Щелкните на кнопке
Вычислить стоимость. Результат
будет таким.
Как
это работает
Сразу
видно, что этот сценарий намного
более запутан, чем в Упражнении
1. Не бойтесь его размера. Как
и в предыдущем уроке, мы пройдем
его шаг за шагом.
После
открывающего тега <SCRIPT>
и комментария HTML выувидете
такую строку:
Option
Explicit
Помните,
что это значит? Эта конструкция
обязывает вас объявлятьзаранее
все переменные.
Дальше
мо создаем процедуру для обработки
события OnClick на кнопке cmdCalculate.
Sub
cmdCalculate_OnClick
Затем
мы объявляем семь переменных,
три из которых мы используе
как константы. Последние можно
отличить: они записаны заглавными
буквами. В VBScript регистр
не имеет значения (в отличии
от JavaScript и XML). Мы используем
смену регистра для упрощения
чтения. Какие это переменные,
внутренние или глобальные? Внутренние,
так как они объявлены внутри
процедуры.
В
VBScript все, что следует за
апострофом до конца строки,
является комментарием и игнорируется
при интерпритации сценария.
Комментарии могут занимать всю
строку или ее часть. Последние
обычно используются для объяснения,
что происходит только на данной
строке.
'
Присваивание значений константам
В
следующих строках константам
передаются значения. Chr ( )
-- это встроенная функция VBScript,
возвращающая символ, имеющий
заданный код ASCII. Коды13,
10 и 9 обозначают, соответственно,
возврат коретки, переход на
новую строку и табуляцию.
CRLF
= Chr(13) & Chr(10)
TABSPACE
= Chr(9)
Следующая
строка показывает , как данные
передаются из формы в сценарий
и как затем обрабатываются.
Два поля нашей формы названы
txtQuantity и txtUnitPrice .
Форму мы назвали frmExercise2
. Здесь мы обращаемся к нашему
документу, затем к форме, далее
к текстовому полю и, наконец,
к его значению value . Value
содержит то, что пользователь
вводит в данное поле на странице.
Знак * обозначает, что необходимо
перемножить значение одного
поля на значение другого.
ПРИМЕЧАНИЕ.
Обычно используемые
операнды VBScript: + для сложения,
- для вычитания, * для перемножения
и / для деления.
Результат
этого вычисления будет
сохранен в переменной Subtotal.
Дальше мы выполняем некоторые
дополнительные вычисления. И,
наконец, результат этих вычислений
показывается в диалоговом окне,
созданным с помощью функции
MsgBox. Знак & используется
для связывания двух строковых
переменных.
Как
и на предыдущем уроке, не зацикливайтесь
на деталях. Со временем вы все
поймете.
Следующий
урок
|