Работа с несовместимыми броузерами — КиберПедия 

Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...

Работа с несовместимыми броузерами

2023-01-01 30
Работа с несовместимыми броузерами 0.00 из 5.00 0 оценок
Заказать работу

ОСНОВЫ ЯЗЫКА 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>

  • Сохраните файл и протестируйте его, запустив в Internet Explorer. Результатом будет такая страница.
  • Попробуете "нажать" на кнопку Нажми меня . Случилось что-нибуть?

Теперь добавим сценарий для получения ответа от кнопки Нажми меня. Новая версия этого упражнения находится в файле p0001a.htm.

Добавление сценария

  • Вновь откройте документ, созданный в части 1. Измените его, добавив выделенные строки:

<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. За время ее создания вы узнали:

  • как добавлять сценарий на страницу;
  • какие есть способы для создания страниц, на которых HTML и VBScript работают вместе;
  • как вы можете располагать модули 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:

<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.

 

Задание 3. Объекты и VBScript

Объекты, будь то апплеты Java или элементы управления ActiveX, расширяют возможности HTML. Используя VBScript, вы можете работать с этими объектами, объединяя их и управляя их свойствами с помощью сценария. На этом заданиее мы рассмотрим, как вы можете использовать возможности объектов с помощью VBScript.

Работа с объектом в сценарии включает две стадии:

  • добавление объекта на страницу;
  • написание программы обработки событий, связанных с данным объектом.

Исследование документа HTML

  • загрузите файл p0003a.txt в текстовый редактор. Это часть страницы, содержащая только HTML, уже созданная для вас. Этот документ содержит три элемента управления ActiveX типа label, которые нызваны lblSubtotal, lblTaxes и lblTotalCost. Сохраните файл под другим именем. Мы будем изменять исходный текст, так что лучше это делать с копией.
  • Заргузите файл в Internet Explorer(сохранив с расширением.HTM). Результат будет таким. Вы, наверное, уже поняли, что после щелчка на кнопке ничего не произойдет. Теперь, как и в предыдущих упражнениях, добавим сценарий.

Добавление 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>
...

  • Сохраните файл и заргузите его в Internet Explorer. Введите 100 в поле Количество и 10 в поле Стоимость изделия.

Как это работает

Упражнение 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.
Вы узнали:

  • что такое объекты и как они могут быть использованы с помощью VBScript;
  • о свойствах, методах и событиях.

Следующий задание посвящен циклам и условным переходам.

Задание 4. Управляющие операторы VBScript

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

Условные выражения

В VBScript есть две формы условных выражений:

  • If... Then... Else
  • Select... Case

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... Next
  • For Each... Next
  • Do... Loop
  • While... WEnd.

Эти четыре выражения могут быть разделены на две группы. Конструкции с оператором 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 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.12 с.