Сферы влияния переменных




Сфера влияния переменных определяет, где переменная может быть испоьзована в сценарии. Сфера влияния переменной определяется местом ее объявления. Если переменная объявлена внутри процедуры, она называется внутренней переменной процедуры и может быть использована только внутри процедуры. Если переменная объявлена вне процедур, она становится глобальной и может быть вызвана и использована в любом месте сценария.
Следующий пример показывает объявление переменных обоих видов:

<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. Знак & используется для связывания двух строковых переменных.
Как и на предыдущем уроке, не зацикливайтесь на деталях. Со временем вы все поймете.

Резюме

Вот и закончилось упражнение 2. Вы создали WEB-страницу, которая взаимодействует с пользователем, получая от него данные, выполняя вычисления и возвращая ему результат, то есть делает то, что и большинство приложений. Вы узнали:

  • типы переменных, поддерживаемых VBScript;
  • как задавать и использовать переменные в сценарии;
  • как компенсировать отсутствие констант в VBScript;
  • как вставлять комментарий в VBScript;

На следующем уроке мы рассмотрим объекты. Вы узнаете, что это такое и как они используются в VBScript.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-04-04 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: