Большой архив статей, книг, документации по программированию, вебдизайну, компьютерной графике, сетям, операционным системам и многому другому
 
<Добавить в Избранное>    <Сделать стартовой>    <Реклама на сайте>    <Контакты>
  Главная Документация Программы Обои   Экспорт RSS E-Books
 
 

   Интернет технологии -> VBScript -> Учебник по VBScript


Урок 2. Работа с переменными

Переменная -- это помеченная область в компьютерной памяти, которую вы можете использовать для сохранения данных во время выполнения сценария. Вы можете исползовать переменные для :

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

Объявление переменных

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

Резюме

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

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

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


[ на главную | дальше ]

 

 
Интересное в сети
 
10 новых программ
CodeLobster PHP Edition 3.7.2
WinToFlash 0.7.0008
Free Video to Flash Converter 4.7.24
Total Commander v7.55
aTunes 2.0.1
Process Explorer v12.04
Backup42 v3.0
Predator 2.0.1
FastStone Image Viewer 4.1
Process Lasso 3.70.4
FastStone Image Viewer 4.0
Xion Audio Player 1.0.125
Notepad GNU v.2.2.8.7.7
K-Lite Codec Pack 5.3.0 Full


Наши сервисы
Рассылка новостей. Подпишитесь на рассылку сейчас и вы всегда будете в курсе последних событий в мире информационных технологий.
Новостные информеры. Поставьте наши информеры к себе и у вас на сайте появится дополнительный постоянно обновляемый раздел.
Добавление статей. Если вы являетесь автором статьи или обзора на тему ИТ присылайте материал нам, мы с удовольствием опубликуем его у себя на сайте.
Реклама на сайте. Размещая рекламу у нас, вы получите новых посетителей, которые могут стать вашими клиентами.
 
Это интересно
 

Copyright © CompDoc.Ru
При цитировании и перепечатке ссылка на www.compdoc.ru обязательна. Карта сайта.
 
Rambler's Top100