Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...
Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...
Топ:
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов...
Техника безопасности при работе на пароконвектомате: К обслуживанию пароконвектомата допускаются лица, прошедшие технический минимум по эксплуатации оборудования...
Теоретическая значимость работы: Описание теоретической значимости (ценности) результатов исследования должно присутствовать во введении...
Интересное:
Средства для ингаляционного наркоза: Наркоз наступает в результате вдыхания (ингаляции) средств, которое осуществляют или с помощью маски...
Принципы управления денежными потоками: одним из методов контроля за состоянием денежной наличности является...
Подходы к решению темы фильма: Существует три основных типа исторического фильма, имеющих между собой много общего...
Дисциплины:
2023-01-01 | 30 |
5.00
из
|
Заказать работу |
|
|
ОСНОВЫ ЯЗЫКА VBScript
МЕТОДИЧЕСКИЕ УКАЗАНИЯ
по курсу «Основы Интернет технологий»
Уфа 2004
Оглавление
Задание 1. Вставка сценария на VBScript в Web-страницы 2
Тэг <SCRIPT>.. 2
Работа с несовместимыми броузерами. 2
Первое упражнение по языку VBScript 2
Упражнение 1: вставка сценария на VBScript на страницу.. 2
Создание документа HTML.. 2
Добавление сценария.. 2
Как это работает. 2
Лучший метод для внедрения VBScript. 2
Как это работает. 2
Резюме.. 2
Задание 2. Работа с переменными. 2
Объявление переменных.. 2
Правила для названия переменных.. 2
Варианты и подтипы... 2
Присваивание значений.. 2
Сферы влияния переменных.. 2
Константы... 2
Второе упражнение по языку VBScript 2
Создание документа.. 2
Добавление VBScript. 2
Как это работает. 2
Резюме. 2
Задание 3. Объекты и VBScript 2
Добавление объектов на страницу. 2
Связывание кода на VBScript с объектами. 2
Третье упражнение по VBScript 2
Упражнение 3: работа с объектами.. 2
Резюме.. 2
Задание 4. Управляющие операторы VBScript 2
Условные выражения. 2
If... Then... Else.. 2
Select... Case.. 2
Операторы цикла. 2
For... Next. 2
For Each... Next. 2
Do... Loop.. 2
Do... While.. 2
Do... Until 2
While... WEnd.. 2
Четвертое упражнение по VBScript. 2
Упражнение 4: работа с циклами.. 2
Как это работает. 2
Просмотр товаров.. 2
Вычисление скидок.. 2
Развитие этого приложения.. 2
Резюме.. 2
Задание 5. Использование VBScript при создании форм 2
Проверка содержимого ваших форм. 2
Проверка вводимой информации.. 2
Как это работает. 2
Отправка формы... 2
Пятое упражнение по VBScript 2
Упражнение 5: как проверить и отправить форму.. 2
Исследование документа HTML.. 2
Как это работает. 2
Проверка формы... 2
Отправка формы... 2
Резюме. 2
Задание 1. Вставка сценария на VBScript в Web-страницы
|
Языки сценария, такие как Java Script и VBScript, созданы как расширение для HTML. Броузер получает сценарий вместе с остальной частью Web-страницы. именно броузер должен проанализировать и выполнить сценарий. В HTML был включен тэг, используемый для внедрения сценария на страницу, тэг - <SCRIPT>.
Тэг <SCRIPT>
Сценарий на странице должен располагаться внутри пары тэгов <SCRIPT> и </SCRIPT>. Пример показан ниже:
<HTML>
<HEAD>
<TITLE>Работа в VBScript</TITLE>
<SCRIPT LANGUAGE="VBSCRIPT">
MsgBox "Добро пожаловать на мою страницу!"
</SCRIPT>
Отркывающий тэг включает аргумент LANGUAGE, который указывает используемый язык сценария. Он необходим из-за того, что существует несколько языков сценария. Без указания значения этого аргументаброузер не будет знать, на каком из них написан сценарий (по умолчанию это Java Script).
Хотя принципиально вы можете распределить сценарий по всему документу, исползуя такую конструкцию, обычно сценарий располагается одним большим блоком в начале или в конце документа. Это облегчает его обработку и адресацию внутри документа.
Работа с несовместимыми броузерами
Не все броузеры поддерживают языки сценария. Некоторые поддерживают только Java Script. Только Microsoft Internet Explorer поддерживает VBScript. Те броузеры, которые не поддерживают сценарий, воспринимают его как текст и отражают в окне как часть страницы. Вряд ли это является осуществлением вашей мечты. Простым способом для решения этой проблемы является заключение сценария в тэги комментария (<!-- и -->). Ниже показан тот же пример с применением тегов комментария.
<HTML>
<HEAD>
<TITLE>Работа в VBScript</TITLE>
<SCRIPT LANGUAGE="VBSCRIPT">
<!--
MsgBox "Добро пожаловать на мою страницу!"
-->
</SCRIPT>
</HEAD>
</HTML>
Теперь, если просматривать страницу броузером, не поддерживающим VBScript, он просто проигнорирует эту часть страницы, не отображая ничего на экране.
Первое упражнение по языку VBScript
Лучший способ выучить любой язык - работать с ним. так что убедимся в этом с помощью упражнения 1, в котором вы научитесь вставлять код сценария на страницу. Следуйте инструкциям для создания вашей первой страницы на VBScript.
|
Упражнение 1: вставка сценария на VBScript на страницу
В этом упражнении вы создадите документ HTML и вставите туда простой сценарий для ответа на событие, порожденное щелчком на кнопке. Вам нужно быть знакомым с созданием и проверкой документов HTML.
Создание документа HTML
<HTML>
<HEAD>
<TITLE>Работа в VBScript: Упражнение 1</TITLE>
</HEAD>
<BODY>
<H1>Пример работы в VBScript</H1>
<P>Это первое упражнение по работе в VBScript. Нажмите
на кнопку для получения сообщения.</P>
<FORM name="frmExercise1">
<INPUT TYPE="Button" Name="cmdClickMe" VALUE="Нажми меня">
</FORM>
</HEAD>
</HTML>
Теперь добавим сценарий для получения ответа от кнопки Нажми меня. Новая версия этого упражнения находится в файле p0001a.htm.
Добавление сценария
<HTML>
<HEAD>
<TITLE>Работа в VBScript: Упражнение 1</TITLE>
</HEAD>
<BODY>
<H1>Пример работы в VBScript</H1>
<P>Это первое упражнение по р аботе в VBScript. Нажмите
на кнопку для получения сообщения.</P>
<FORM name="frmExercise1">
<INPUT TYPE="Button" Name="cmdClickMe" VALUE="Нажми меня">
<SCRIPT FOR="cmdClickMe" EVENT="onClick" LANGUAGE="VBSCRIPT">
MsgBox "Добро пожаловать на мою страницу!"
</SCRIPT>
</FORM>
</HEAD>
</HTML>
Сохраните файл и загрузите снова в Internet Explorer. Опять щелкните на кнопке. Результат будет примерно таким.
Как это работает
Рассмотрим три строки в коде, которые мы добавили. Мы хотим, чтобы вы имели твердую уверенность в том, что делает сценарий на VBScript и как он это делает. Первая строка определяет место, где будет находиться сценарий. Агумент FOR определяет, что данный сценарий создан для кнопки под названием cmdClickMe. Это название кнопки мы дали внутри тэга <INPUT>. Аргумент EVENT указывает на то, что сценарий доожен начать работу при "нажатии" кнопки (щелчке на ней). Аргумент LANGUAGE определяет язык для этого модуля -- VBScript.
<SCRIPT FOR="cmdClickMe" EVENT="onClick" LANGUAGE="VBSCRIPT">
Вторая строка -- единственная строка на VBScript в этом документе. Функция MsgBox просто показывает диалоговое окно сообщения. О ней вы узнаете больше несколько позже. Третья строка обозначает конец сценария.
В предыдущей части мы просто вставили модуль VBScript посте тега HTML, отвечающего за появление кнопки. Этот метод работает, но его редко используют. HTML и сам по себе труден для восприятия. Чередование HTML и сценария приведет к еще большей путанице. Гораздо лучше будет, если поместить весь сценарий в одном месте документа. Следующие инструкции помогут вам это сделать. Полная версия данной части упражнения находится в файле p0001b.htm.
|
Как это работает
В данном случае раздел сценария начинается с того же тега <SCRIPT>. В чентре этого сценария есть три строки, "оживляющие" нашу страницу. Первая строка объявляет проседуру под названием cmdClickMe_onClick (так мы назвали кнопку Click Me). Процедуры такого типа известны как программы обработки событий. Событием в данном случае является "нажатие" кнопки пользователем. Программа обработки данного события будет выполнятся при каждом нажатии этой кнопки.
Sub cmdClickMe_OnClick
Во второй строке мы увидим уже знакомую функцию MsgBox. Третья строка определяет конец процедуры.
Не останавливайтесь сейчас надолго на деталях, вы еще увидите их в дальнейших примерах.
Резюме
Вот вы и создали свою первую страничку, в которую внедрили сценарий на языке VBScript. За время ее создания вы узнали:
На следующем заданиее вы узнаете, как работать в VBScript с переменными.
Задание 2. Работа с переменными
Переменная -- это помеченная область в компьютерной памяти, которую вы можете использовать для сохранения данных во время выполнения сценария. Вы можете исползовать переменные для:
Объявление переменных
|
Есть два метода задания переменных в VBScript, явный и неявный. Обычно переменные задаются явно, с помощью оператора Dim:
Dim Name
Эта конструкция задает переменную Name. Вы также можете задать несколько переменных в одной строке, как это показано ниже, но лучше каждую переменную объявить отдельно.
Варианты и подтипы
В 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.
Создание документа
<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>
В этой части добавим сценарий, для того чтобы "нажатие" кнопки Вычислить стоимость приводило к ее вычислениям. Полная версия новой части упражнения находится в файле 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>
Как это работает
Сразу видно, что этот сценарий намного более запутан, чем в Упражнении 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.
Задание 3. Объекты и VBScript
Объекты, будь то апплеты Java или элементы управления ActiveX, расширяют возможности HTML. Используя VBScript, вы можете работать с этими объектами, объединяя их и управляя их свойствами с помощью сценария. На этом заданиее мы рассмотрим, как вы можете использовать возможности объектов с помощью VBScript.
Работа с объектом в сценарии включает две стадии:
Исследование документа HTML
Добавление VBScript
<HTML>
<HEAD>
<TITLE>Работа в VBScript: Упражнение 3</TITLE>
<SCRIPT LANGUAGE="VBScript">
<!--Эта инструкция добавляется для броузеров, не понимающих модули VBScript.
Option Explicit
Sub cmdCalculate_OnClick()
Dim AmountofTax
Dim Subtotal
Dim TAX_RATE
Dim TotalCost
' Определяем константы
TAX_RATE = 0.06
' Устанавливаем порядок расчета
Subtotal = document.frmExercise3.txtQuantity.value _
* document.frmExercise3.txtUnitPrice.value
AmountofTax = Subtotal * TAX_RATE
TotalCost = Subtotal + AmountofTax
' Отображение результатов .
document.frmExercise3.lblSubtotal.value = Subtotal
document.frmExercise3.lblTaxes.value = AmountofTax
document.frmExercise3.lblTotalCost.value = TotalCost
End Sub
-->
</SCRIPT>
</HEAD>
...
Как это работает
Упражнение 3 -- всего лишь модификация упражнения 2. Так что мы сосредоточимся на отличиях, вместо того чтобы снова комментировать каждую строчку.
Минимальные изменения коснулись раздела, где объявляются и задаются переменные. Нам не нужно так много переменных и консант в данном примере, так что лишние просто убраны.
Dim AmountofTax
Dim Subtotal
Dim TAX_RATE
Dim TotalCost
'Определяем константы
TAX_RATE = 0.06
Метод вычислений предварительного итога, комиссионных и окончательного итога одинаков для обоих примеров, так что не будем на нем останавливаться.
Новая страница отличается способом вывода результата. Сценарий был изменен: была удалена функция MsgBox, а на ее место мы поместилисвойства caption трех элементов управления.
'Отображение результатов.
document.frmExercise3.lblSubtotal.value = Subtotal
document.frmExercise3.lblTaxes.value = AmountofTax
document.frmExercise3.lblTotalCost.value = TotalCost
Для обращения к нужным свойствам необходимо пройти несколько "ступеней".
| |
document | Наш Web-документ |
| |
frmExercise3 | Форма, в которой находится искомый элемент ActiveX |
lblTaxes | Название элемента управления |
value | Свойство, которое устанавливаем |
|
Хочется верить, что теперь вам стало проще понимать VBScript и работать с ним. Лучшим способом закрепить эти умения будет взять несколько примеров из первых заданиеов и переделать так, чтобы они выполняли ваши собственные задачи.
Резюме
Вот и третий задание позади. Понятно, что объекты -- слишком большая тема для такого маленького заданиеа. С другой стороны, его целью было лишь познакомить вас с объектамии показать общие моменты в использовании с помощью VBScript.
Вы узнали:
Следующий задание посвящен циклам и условным переходам.
Задание 4. Управляющие операторы VBScript
VBScript позволяет управлять процессом обработки данных с помощью условных переходов и циклов. С помощью условных выражений вы можете разветвлять сценарий, используя критерий для определения, какую задачу выполнять. Циклы позволяют ваммногократно повторять однотипные действия. И те, и другие помогают создать более сложные и функциональные страницы.
Условные выражения
В VBScript есть две формы условных выражений:
If... Then... Else
Это выражение используется для проверки условия, которое может оказаться истиным или ложным, и затем, в зависимости от результата сравнения, для выполнения одной или нескольких строк кода. Вместо того чтобы рассуждать о теоретических возможностях блока If,мы проанализируем несколько примеров.
Самый простой способ использования блока If выглядит так:
If AmountPurchased >10000 Then DiscountAmount = AmountPurchased *.10
В этом премере условие таково:
If AmountPurchased >10000
В нем просто сравнивается с 10 000 значение переменной (объем покупок). Если объем покупок больше 10 000, условие выполняется. В этом случае выполняется выражение, находящееся в той же строке: DiscountAmount = AmountPurchased *.10
Теперь рассмотрим более сложную версию этой конструкции. Здесь мы можем выполнить несколько действий подряд в случае выполнения условия:
If AmountPurchased >10000 Then DiscountAmount = AmountPurchased *.10 Subtotal=AmountPurchased - DiscountAmount End IfВ такой форме этой конструкции в случае выполнения условия могут быть выполнены одно или несколько выражений. Для этого нужные выражения помещают между операторами Then и End If.
Следующей формой конструкции является формат If... Then... Else. Эта форма отличается тем, что в случае истинности условного выражения выполняется один блок кода, в случае, если оно ложно, -- другой блок.
If AmountPurchased >10000 Then DiscountAmount = AmountPurchased *.10 Subtotal=AmountPurchased - DiscountAmount Else HandlingFee = AmountPurchased *.3 Subtotal=AmountPurchased + HandlingFee End IfВ этом примере, когда условие выполнено, т.е. стоимость покупки больше $10 000, покупатель получает скидку 10%. Если меньше -- скидка заменяется на 3% комиссионных.
И последняя конструкция функции If -- конструкция If... Then... Else If. В этой форме проверяются все условия либо до тех пор, пока не будет найдено выполненное, либо до выражения Else.
If AmountPurchased >10000 Then DiscountAmount = AmountPurchased *.10 Subtotal=AmountPurchased - DiscountAmount Else If AmountPurchased >5000 Then DiscountAmount = AmountPurchased *.05 Subtotal=AmountPurchased - DiscountAmount Else HandlingFee = AmountPurchased *.3 Subtotal=AmountPurchased + HandlingFee End IfВ этом примере покупатель получает скидку 10% ну покупку стоимостью свыше $10 000, 5% -- на покупку стоимостью свыше $5000, или с него удерживаются комиссионные в размере 3% во всех остальных случаях.
Как можно заметить, VBScript дает вам много возможностей для построения блока If.
Select... Case
Конструкция Select Case является альтернативной блоку If... Then... Else, когда появляются сложные условия. Она хорошо подходит для ситуации, в которой есть несколько возможных значений для проверяемого условия. Так же, как и предыдущая, конструкция Select Case проверяетусловие на основе результата выполняет серию действий.
Синтаксис выглядит так:
Select Case условие Case значение Case значение... Case Else End SelectНапример, слудующий блок присваивает различные почтовые издержки в зависимости от штата, в который будет послан продукт:
Select Case Document.frmOrder.txtState.Value Case "California" ShippingFee =.04 Case "Florida" ShippingFee =.03 Case Else ShippingFee =.02 End SelectТакая конструкция проверяет каждое из условий Case до тех пор, пока не найдет выполненное условие. Если такого условия не будет найдено, будут выполнены выражения, находящиеся в Case Else.
СОВЕТ Даже если это не является необходимым, в конструкцию Select Case всегда включайте блок Case Else для обработки условий, которые вам могут казаться невозможными. Для таких условий просто включите функцию Message Box, которая выдаст сообщение о том, что происходит что-то непредвиденное.
Операторы цикла
VBScript поддерживае четыре формы циклов:
Эти четыре выражения могут быть разделены на две группы. Конструкции с оператором For лучше всего использовать, когда вы хотите проделать некоторые действия определенное количество раз. Конструкции, содержащие While, лучше всего использовать для неограниченного количества повторений.
For... Next
Эта структура применяется, когда нужно повторить действия определенное количество раз. в нем используется переменная - счетчик циклов, которая увеличивается или уменьшается с каждым новым циклом. В следующем примере показывается простой цикл For:
For counter = 1 to 12 result = 5 * counter MsgBox counter & " пять раз будет " & result Next counterПеременная counter имеет числовое значение, которое увеличивается или уменьшается. Число 1 определяет его начальное значение, 12 - конечное значение, шаг по умолчанию равен 1. Когда этот цикл завершиться, появится 12 окон сообщения, в которых будет написана таблица умножения на 5 чисел от 1 до 12.
В данном примере переменная counter увеличивается на 1 в конце каждого цикла. Заданием необязательного параметра Step мы можем изменить эту величину:
For counter = 1 to 12 Step 2 result = 5 * counter MsgBox counter & " пять раз будет " & result Next counterТаким образом, слегка изменив код, мы получим результаты перемножения лишь некоторых чисел из данного диапазона. Можно осуществить и цикл с обратным счетом, изменив параметр Step:
For counter = 12 to 1 Step -1 result = 5 * counter MsgBox counter & " пять раз будет " & result Next counterЗаметим, что в цикле с обратным счетом конечный номер меньше начального.
For Each... Next
Эта конструкция похожа на предыдущую, отличаясь тем, что вместо заданного количества повторений цикл обрабатывает каждый элемент массива или коллекции.
Do... Loop
Этот тип цикла повторяет выполнение выбранного блока кода до выполнения заданного условия. Обычно при использовании такой структуры проверяемое условие -- результат операции, выполняемой внутри цикла. Два типа этой структуры приведены далее. Это Do... While и Do... Until.
Do... While
Цикл Do, содержащий ключевое слово While, выполняется до тех пор, пока проверяемое условие истино. Вы можете проверять это условие в начале цикла.
Do While условиевыражение выражение...... LoopИли в конце цикла, как показано ниже:
Do выражение выражение...... Loop While условиеРазница между этими способами заключается в том, что первый может никогда не выполнить содержащиеся в нем команды, а второй выполнит их как минимум один раз.
Do... Until
Цикл Do, содержащий ключевое слово Until, выполняется до тех пор, пока проверяемое условие ложно. Как и в структуре Do... While, вы можете поставить условие в начале цикла:
Do Until условиевыражение выражение...... LoopИли в конце цикла, как показано ниже:
Do выражение выражение...... Loop Until условиеПример использования цикла Do... Loop:
password = InputBox("Введите ваш пароль") Do Until possword = "No Pasaran" MsgBox "Неправильно введенный пароль. Попробуйте еще раз!" password = InputBox("Введите ваш пароль") LoopВ этом примере мы требуем ввести пароль перед выполнением условной части цикла в первый раз. Результат будет таким: если правильный пароль будет введен сразу, цикл не будет выполнен ни разу. Если пользователь введет неверный пароль, будут выполнены действия, указанные внутри цикла, то есть будет выдано сообщение и пользователю будет приедложен снова ввести пароль.
While... WEnd
Cтруктура While... WEnd выполняет цикл до тех пор, пока проверяемое условие верно. Если это так, она работает похоже на Do... Loop, хотя и без ее гибкости.
Синтаксис структуры такой:
While условие выражение выражение... WEnd
Как это работает
На странице сделанной в упражнении 4, есть две новых особенности: автоматическое присваивание цены и вычисление сидок. Мы рассмотрим каждую из них в отдельности.
Просмотр товаров
Это новшество созданно с помощью программы обработки события ListBox_onChenge(). Как вы, наверное, помните, элемент формы, генерирующий выпадающий список, называется ListBox. Этот элемент поддерживаетсобытие onChenge, которое происходит каждый раз при выборе элементов из списка. Используя инстукцию Select Case, мы получает значение элемента формы. В нашем примере элементы списка жестко зафиксированы в коде. В настоящих приложениях элементы обычно беруться из внешнего источника данных.
sub ListBox_onchange() Dim intMnt intMnt=CInt(document.all.ListBox.value) Select Case intMnt Case 1 Cost=645 Case 2 Cost=710 Case 3 Cost=320 Case 4 Cost=430 Case 5 Cost=940 Case 6 Cost=255 Case 7 Cost=150 End Select document.all.Edit2.value=CStr(Cost) & " $" end subПРИМЕЧАНИЕ Функции преобразуют строку в целое число (CInt) или наоборот (CStr). Это может пригодится вам в дальнейшем.
Вычисление скидок
Сценарий, предназначенный для вычисления скидок, начинается с задания нескольких констант, одна из которых устанавливает для минимальной стоимости покупки, с которой начинаются скидки, значение $1000, вторая -- значение скидки 10%. Наш расчет начина
|
|
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...
История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...
Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...
Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!