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

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


Продолжение

Четвертое упражнение по VBScript

В этом упражнении мы продолжим усовершенствование нашей страницы. Новые особенности, с которыми мы столкнемся в этом упражнении, такие:

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

Упражнение 4: работа с циклами

В этом упражнении вы создадите документ HTML, который содержит сценарий, получающий данные со страницы, выполняет расчеты и выводит результат обратно на страницу. Кроме того, он будет оперировать с ценами на товар и расчитывать размер скидки на основе стоимости покупки.

  • Скопируйте текст докуметна p0004.txt в текстовый редактор и сохраните с расширением .htm. Это часть HTML набранная для вас.
  • Взгляните на документ. Заметьте появление элемента управления ListBox и дополнительных элементов типа Edit. Обратите внимание, как заполняется список товаров.
  • Загрузите файл в Internet Explorer. Результат будет таким. Вы уже могли забыть о том, что нужно попытаться нажать на кнопку, так что мы напоминаем.

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

  • Добавьте (не скопируйте, а добавьте) выделенные строки в уже имеющийся документ.

<html> <head> <title>Учебник по VBScript - Упражнение 4 </title> <SCRIPT LANGUAGE="VBScript"> <!--Для работы с несовместимым броузерами Option Explicit Dim Cost 'Номер продукта Dim Qty 'Количество заказанного товара Sub Button1_OnClick() Dim AD ' AmountofDiscount Dim AT ' AmountofTax Dim DISCOUNT_LIMIT Dim DISCOUNT_RATE Dim SB 'SubtotalBefore Dim SA 'SubtotalAfter Dim TAX_RATE Dim TC 'TotalCost 'Определение констант DISCOUNT_LIMIT=1000 DISCOUNT_RATE=0.10 TAX_RATE=0.06 'Вычисление подытога Qty=document.all.Edit1.value SB=Qty*Cost 'Проверка на минимальный объем покупок If (SB>DISCOUNT_LIMIT) Then AD=SB*DISCOUNT_RATE Else AD=0 SA=SB-AD 'Вычисление налога и итога AT=SA*TAX_RATE TC=SA+AT 'Отображение результатов document.all.Edit3.value=CStr(SB) & " $" document.all.Edit4.value=CStr(AD) & " $" document.all.Edit5.value=CStr(SA) & " $" document.all.Edit6.value=CStr(AT) & " $" document.all.Edit7.value=CStr(TC) & " $" end sub 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 --> </SCRIPT> </head> ...

  • Сохраните файл, загрузите его в Internet Explorer. Результат будет, наверное, таким. Выберите один из товаров в списке. Заметим, что поле Цена единицы товара автоматически заполняется значением.

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

На странице сделанной в упражнении 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%. Наш расчет начинается с вычисления подытога перед назначением скидок и налогов.

После этого назначаются скидки с помощью конструкции If ... Then .... Else. Мы сравниваем наш подытог с константой (минимум для скидок). Если подытог больше минимума, размер скидки вычисляется и сохраняется в переменной AD. Если подытог меньше или равен минимуму, значение переменной делается равным 0.

'Проверка на минимальный объем покупок
If (SB>DISCOUNT_LIMIT) Then AD=SB*DISCOUNT_RATE Else AD=0

Значение переменной AD затем вычисляется из подытога. Дальше мы вычисляем ставки налога и полный итог. Заканчивается процедура отображением разультатов на экране.

Развитие этого приложения

В этом примере минимальная стоимость покупки для применения скидок -- $1000. Что мешает нам сделать еще один порого для новых скидок, например, равным $100 000?

Резюме

Прогресс налицо. Эта страница получает данные от пользователя, обрабатывает их, делает необходимые проверки и возвращает пользователю результат -- и все без передачи данных на сервер и обратно.

В этом разделе вы познакомились:

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

Теперь, когда мы умеем вводить, обрабатывать и отображать данные, пришло время узнать, как проверять правильность данных перед посылкой на сервер.

P.S. Домашнее задание: выясните как работает справка.
[ на главную | дальше ]

 

 
Интересное в сети
 
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