Архитектура Microsoft Windows для разработчиков

pizzda.net


Занятие 2. Создание клиентских сценариев средствами Microsoft VBScript

(Продолжительность занятия 60 минут)

Язык VBScript — оптимизированная для работы в Интернете версия популярного языка программирования Visual Basic for Applications. Этот высокопроизводительный язык разработки сценариев предназначен для создания активных Web-страниц. Средствами VBScript Вы можете связывать и автоматизировать множество объектов на Web-страницах, включая Java-апплеты и элементы управления ActiveX. На этом занятии Вы узнаете, как применять VBScript для построения клиентских сценариев.

 
Изучив материал этого занятия, Вы сможете:

  • создать Web-страницу, использующую Microsoft VBScript;
  • пользоваться переменными в сценарии на Microsoft VBScript;
  • применять операторы управления последовательностью выполнения команд сценария;
  • с помощью VBScript создавать событейные процедуры для стандартных элементов управления HTML и ActiveX;
  • обрабатывать ошибки, возникающие при выполнении VBScript-сценария.

Синтаксис языка VBScript

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

Синтаксисы VBScript и Visual Basic for Applications идентичны. Однако VBScript учитывает необходимость быстрой загрузки страниц по Интернету, поэтому поддержка многих элементов (как языковых, так и времени выполнения) Visual Basic for Applications не включена в VBScript. Кроме того, некоторые элементы языка — например, средства работы с файлами — изъяты по соображениям безопасности.

Встроенные функции Visual Basic

VBScript поддерживает некоторые встроенные функции Visual Basic, включая Msg-box, Date и IsNumeric.

 
Пример Этот сценарий на VBScript открывает на экране окно сообщения, если переменная Var является числовой:

If IsNumeric(Var) Then

MsgBox "Var is a number."

End If

Некоторые функции в VBScript реализованы иначе. Например, функция Visual Basic Format — в VBScript в виде четырех различных версии:

  • FormatCurrency;
  • FormatDateTime;
  • FormatNumber;
  • FormatPercent.

 
Примечание Полный перечень функции, поддерживаемых VBScript 2.0, — на Web-узле VBScript (www.microsoft.com/vbscript) и в комплекте документации Internet Client SDK.

Определение процедур

В VBScript имеется два вида процедур: подпрограммы и процедуры-функции. Как и весь код сценария, процедуры должны располагаться внутри тэга <SCRIPT>, чтобы интерпретатор сценария и другие процедуры в составе HTML-страницы могли их распознать.

Подпрограммы

Подпрограмма — это последовательность выражений VBScript, заключенных между операторами Sub и End Sub. Она выполняет действия, но не возвращает значения. У подпрограммы могут быть аргументы (константы, переменные или выражения), передаваемые ей вызывающей процедурой.

 
Пример Здесь подпрограмма используется для увеличения значения переменной Sales на величину, переданную в аргументе NumSales:

Sub IncreaseSales(NumSales)

Sales = Sales + NumSales

End Sub


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

IncreaseSales 100

-или-

Call IncreaseSales(IOO)

Процедуры-функции

Процедура-функция — это последовательность выражений VBScript, заключенных между операторами Function и End Function. Процедуры-функции аналогичны подпрограммам, но, в отличие от них, способны возвращать значение. Процедура-функция может принимать аргументы (константы, переменные или выражения), передаваемые ей вызывающей процедурой. Если она не имеет аргументов, определяющий ее оператор Function должен содержать пустые скобки. Процедуpa-функция возвращает значение, присваивая его своему имени в одном или нескольких операторах. Тип возвращаемого значения — всегда Variant.

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

Function Validate(myDate)

If IsDate(myDate)

Then Validate = True

Else Validate = False

End If

End Function

'Событийная процедура, вызываемая при нажатии пользователем кнопки cmdTest

Sub cmdTestDate_OnClick()

Results = Validate(myDate)

End Sub


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

> Создание Web-узла в Microsoft Frontpage 98

  1. Запустите Frontpage 98.
  2. Выберите Create a New Frontpage Web и нажмите ОК.
  3. Выберите One Page Web, измените название на Exercise9 и нажмите ОК.

> Редактирование главной страницы

  1. Дважды щелкните значок Home Page, чтобы открыть редактор Frontpage Editor.
  2. В меню Insert выберите команду Form Field и щелкните One Line Textbox.
  3. Правой кнопкой мыши щелкните кнопку Submit и выберите Form Field Properties.
  4. Измените свойство Name на btnSquareIt.
  5. Измените свойство Value/Label на Square.
  6. Измените свойство Button Type на Normal и нажмите кнопку ОК.
  7. Щелкнув кнопку Reset, удалите ее клавишей Delete.
  8. Правой кнопкой мыши щелкните кнопку Square и выберите Form Properties.
  9. 9. Измените имя Form Name на Form1 и нажмите кнопку ОК.

> Добавление сценария VBScript к главной странице

  1. Поместите курсор рядом с кнопкой Square на форме.
  2. В меню Insert выберите команду Advanced, Script.
  3. Введите приведенный ниже код и нажмите кнопку ОК:

    Function SquareIt(Num)

    Squarelt = (Num * Num)

    End Function

  4. Правой кнопкой мыши щелкните кнопку Square и выберите в меню команду Script Wizard.
  5. В дереве объектов раскройте объект Form1, а затем — объект btnSquareIt.
  6. Щелкните событие btnSquareIt OnClick и нажмите кнопку Code View в ниж ней части диалогового окна.
  7. Введите приведенный ниже код для события OnClick и нажмите кнопку ОК:

    Dim Result

    On Error Resume Next

    Result = SquareIt(T1.Value)

    MsgBox T1.Value & " в квадрате = " & Result

> Проверка

  1. Сохранив страницу, в меню File выберите пункт Preview in Browser.
  2. Когда Web-страница появится в окне Internet Explorer, введите в текстовое поле целое число и нажмите кнопку Square.

    Введенное число будет обработано созданной Вами функцией Squarelt, а результат работы функции появится в окне сообщений.

  3. Закройте Internet Explorer и Frontpage 98.

Использование переменных

Как и Visual Basic, VBScript поддерживает использование переменных, а кроме того, — типы данных, область видимости и константы. Переменная — это удобная метка, обозначающая область в памяти компьютера, где Вы можете хранить информацию во время работы сценария. Например, созданная Вами переменная ClickCount покажет, сколько раз пользователь щелкнул объект на данной Web-странице. Где именно в памяти хранится переменная, неважно; имеет значение лишь то, что, обратившись к ней по имени. Вы можете узнать или изменить ее значение.

Типы данных

VBScript поддерживает только тип Variant, содержащий данные различных типов:

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

Чтобы объявить переменную в VBScript, пользуйтесь оператором Dim.

 
Пример Здесь объявляется переменная myName:

Dim myName


Массивы

VBScript поддерживает и массивы. Все они в VBScript индексируются начиная с нуля, то есть индекс первого элемента любого массива — ноль.

 
Пример Здесь объявляется массив для хранения 11 значений:

Dim Students(10)


Константы

Константы в VBScript объявляются оператором Const. Вы можете создавать строковые или числовые константы с описательными именами и присваивать им литеральные значения.

 
Пример Здесь оператор Const применяется для объявления двух констант и присвоения им значений:

Const MYSTRING = "Моя строка" Const MYAGE = 37


 


Примечание Чтобы отличать константы от переменных, набирайте их имена прописными символами.

Область видимости данных

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

локальная и уровня сценария.

Если Вы объявили переменную в процедуре, она имеет локальную область видимости и доступна только внутри данной процедуры. Когда процедура завершается, переменная выходит из области видимости.

Если переменная объявлена вне процедуры, она доступна всем процедурам на Web-странице или, другими словами, имеет область видимости уровня сценария. Такие переменные доступны все время, пока Web-страница отображается в программе просмотра.

Когда переменная объявляется на уровне сценария, она дополнительно может быть объявлена открытой (ключевым словом Public) или закрытой (Private). Переменные, объявленные с помощью ключевого слова Public, доступны всем процедурам всех сценариев страницы. Закрытые переменные доступны только в рамках сценария, где они объявлены. Переменные, объявленные оператором Dim на уровне сценария, доступны всем его процедурам; переменные, объявленные на уровне процедуры, доступны только в ней.

Средствами операторов Dim, Public и Private с пустыми круглыми скобками можно объявить динамические массивы. Фактическая размерность и длина динамического массива в процедуре задается оператором ReDim. Если Вы попытаетесь изменить размерность массива, размер которого явно указан в операторе Private, Public или Dim, возникнет ошибка.

Синтаксис При объявлении переменных используется следующий синтаксис:

Dim имя_переменной[([размерности])]

Public имя_переменной[([размерности])]

Private имя_переменной[([размерности])]

 
Пример Здесь переменная Х доступна во всех сценариях и соответствующих процедурах проекта, переменная Y — только в текущем сценарии, а переменная Z — лишь в подпрограмме MySub:

<SCRIPT>

Public X

Private Y

MySub()

Dim Z

End Sub

</SCRIPT>


 


Примечание При объявлении переменных в процедуре выражения с операторами Dim, Public и Private рекомендуется располагать в начале процедуры.

> Использование переменных в VBScript

  1. Откройте Web-узел Exercise9 в Frontpage 98.
  2. Откройте главную страничку в Frontpage Editor.
  3. Поместите точку вставки в форме на Web-странице.
  4. В меню Insert выберите команду Advanced, Script.
  5. Введите в окне кода следующий код VBScript:

    Option Explicit

    Private Y

    Sub SetValues()

    Dim X

    X = 1

    Y = 1

    End Sub Sub Ch'angeValuesAgain( )

X = 1

Y = 1

End Sub

  1. Щелкните кнопку Script Wizard.
  2. Раскройте в дереве объектов объект Window и щелкните его событие OnLoad.
  3. В окне кода введите следующий код VBScript и нажмите ОК:

    SetValues

    ChangeValuesAgain

  4. В редакторе Frontpage Editor откройте вкладку Preview и просмотрите Вашу Web-страницу.

    Вы получите сообщение об ошибке, гласящее, что переменная Х не определена. Это произошло потому, что Х действительна только в подпрограмме SetValues, где она была объявлена оператором Dim. Переменная Y же находится в области видимости, так как она была объявлена оператором Private вне процедуры.

  5. Щелкните кнопку Yes, чтобы закрыть окно сообщения, и вернитесь к обычному представлению страницы.
  6. Добавьте следующую строку кода в подпрограмму Change ValuesAgain:

    Dim X

  7. Сохраните изменения и откройте Web-страницу.

    Обратите внимание, что ошибка не возникает: теперь Х находится в области видимости благодаря оператору Dim, который Вы только что добавили в подпрограмму ChangeValuesAgain.

  8. Закройте Internet Explorer и Frontpage 98.

Управление работой сценария

Для управления ходом выполнения сценария пользуйтесь соответствующими операторами Visual Basic.

VBScript поддерживает большую часть структур Visual Basic for Applications для управления работой программы.

Структуры для организации циклов

Циклы позволяют запускать часть кода сценария более одного раза; цикл завершается при выполнении условия, определяемого состоянием переменной цикла или введенной пользователем информацией. В VBScript 2.0 имеется несколько операторов цикла.

Оператор

Назначение

Do... Loop

Выполняет цикл, пока условие истинно либо пока оно не станет истинным

While...Wend

Выполняет цикл, пока условие истинно

For... Next

С помощью счетчика выполняет набор операторов заданное число раз

 

 
Пример Здесь создается массив, который заполняется значениями:

Dim x(10)

For i = 1 to 10

x(i) = i * 10 Next


Условное ветвление

Операторы условного ветвления определяют, будет ли выполняться данный фрагмент сценария и при каких условиях. Например, проверяется состояние переменных или введенная пользователем информация. Операторы условного ветвления отличаются от операторов циклов тем, что фрагмент сценария при условном ветвлении может выполняться не более одного раза. В VBScript 2.0 имеется несколько операторов условного ветвления.

Оператор

Назначение

If...Then

Выполняет один из двух фрагментов кода в зависимости от того, истинно или ложно выражение

Select...Case

Выполняет один из фрагментов кода в зависимости от значения переменной

 

Вы можете использовать выражение с оператором If... Then... Else, чтобы выяснить истинность или ложность условия и, в зависимости от результата, выполнить один из двух фрагментов кода.

 
Пример Это условное выражение вычисляет процент премии в зависимости от значения переменной Sales:

If Sales > 100000 Then

Bonus =.10

Elself Sales > 50000 Then

Bonus =.05

Else

Bonus =.02

End If


VBScript 2.0 теперь поддерживает оператор Select...Case, который полезен, когда переменная-условие имеет больше двух значений. Хотя и в этом случае можно обойтись оператором If...Then, Select...Case проще и удобнее.

 
Пример Здесь выполняются те же действия, что и в предыдущем случае, но средствами оператора Select...Case:

Select Case Sales

Case 100000

Bonus =.1

Case 50000, 75000

Bonus =.05

Case Else

Bonus =.02

End Select


 


Примечание В операторе Select...Case не допускается использование диапазонов значений и символов сравнения «больше чем» (>) или «меньше чем» (<).

> Использование конструкции Select Case в VBScript

  1. Откройте Web-узел Exercise9 в Frontpage 98.
  2. Откройте Home Page в Frontpage Editor.
  3. Правой кнопкой мыши щелкните кнопку Square и выберите Script Wizard.
  4. В событие OnClick кнопки btnSquareIt введите приведенный ниже код и на жмите ОК:

    Dim Result

    On Error Resume Next

    Result = SquareIt(T1.Value)

    Select Case Result

Case 1,2,3

MsgBox "Между 1 и 3"

Case 4,5,6

MsgBox "Между 4 и 6"

Case 7,8,9

MsgBox "Между 7 и 9"

Case Else

MsgBox "Результат вне диапазона."

End Select

MsgBox T1.Value & " в квадрате = " & Result

  1. Сохраните изменения и откройте страницу в Internet Explorer.
  2. Когда Web-страница появится в Internet Explorer, введите в текстовое поле число 2 и нажмите кнопку Square.
  3. Введите в поле число 10 и снова нажмите кнопку Square.

    Обратите внимание на различие результатов: при вводе чисел от 1 до 3 появляется сообщение об интервале, а любое другое числа вызывает выполнение блока Case Else.

  4. Закройте Internet Explorer и Frontpage 98.

Обработка ошибок

В Web-страницу, как и в обычное приложение Visual Basic, можно включить сценарий обработки ошибок.

Оператор On Error

Вы вправе изменить стандартный механизм обработки ошибок на Web-странице, добавив в начало сценария оператор On Error Resume Next. Он указывает программе просмотра (например, Internet Explorer) на необходимость продолжать выполнение сценария. Этим оператором нужно снабдить каждую процедуру, в которую Вы хотите включить обработку ошибок.

При возникновении ошибки Internet Explorer сохраняет информацию о ней в объекте Err. Данные о следующей ошибке заносятся в тот же объект Err, сведения же о предыдущей ошибке при этом теряются.

Чтобы отключить обработку ошибок, используйте оператор On Error GoTo 0. Internet Explorer вернется к стандартной процедуре обработке ошибок и будет сообщать о них пользователю.

 
Примечание VBScript не поддерживает оператор On Error GoTo <метка>, поэтому нельзя написать процедуру, которая бы автоматически вызывалась при возникновении ошибки. В результате обработку ошибок реализуют непосредственно в тексте процедур, выполняя проверку наличия ошибки после каждого оператора, который может ее вызвать.

Объект Err

Чтобы обнаружить ошибки времени выполнения, проверяйте свойство Number объекта Err после каждого оператора, который может их вызвать. Если значение свойства Number равно нулю, ошибки нет; ненулевое значение свидетельствует о ее возникновении.

Чтобы получить информацию об ошибке, обратитесь к свойству Description. Когда возникает ошибка, объект Err хранит информацию о ней до тех пор, пока не появится следующая. При успешном выполнении выражения объект Err не очищается, поэтому после возникновения ошибки нужно уничтожить информацию о ней, вызвав метод Clear объекта Err.

 
Пример Здесь показана общая схема обработки ошибок:

Sub cmdSubmit_OnClick

On Error Resume Next

'Выражение, которое может вызвать ошибку

If Err <> 0 Then

Msgbox "Произошла ошибка. " & Err.Description

Err.Clear

End if

End Sub


Чтобы проверить Ваш код обработки ошибок, можете специально создать ошибочную ситуацию средствами метода Raise объекта Err.

VBScript использует не все возможные номера для идентификации ошибок. Если Вы хотите поверить собственный код, начните нумерацию ошибок в нем с 65535 (максимально допустимое значение) с последующим уменьшением номеров.

 
Пример Этот код вызовет ошибку с номером 65 000:

Err.Raise 65000


Управление объектами на VBScript

Сценарии позволяют управлять объектами и реагировать на события (рис. 9.2). Прежде чем создать такой сценарий, необходимо идентифицировать объекты на Web-странице, например встроенные элементы управления в формах: кнопки, текстовые поля и т.п. Кроме объектов в формах, на странице могут находиться элементы управления ActiveX и Java-апплеты.

9-4.jpg

Рис.9.2 Объекты на Web-странице, которыми можно управлять средствами VBScript

Идентификация объектов

Чтобы воспользоваться объектом в сценарии клиентской части, сначала постройте объект, а затем присвойте ему имя для создания событийных процедур и для обращения к свойствам и методам объекта. Синтаксис присвоения имени зависит от типа объекта.

Стандартные элементы управления HTML

Чтобы присвоить имя стандартному элементу управления HTML, достаточно присвоить значение атрибуту NAME.

 
Пример В этом коде элементу управления Button присваивается имя cmdValidateOrder:

<INPUT TYPE="BUTTON" NAME="cmdValidateOrder" VALUE="Validate Order">


Элементы управления ActiveX

Чтобы присвоить имя элементу управления ActiveX, Вы устанавливаете атрибут ID тэга <OBJECT>.

 


Пример В этом коде элементу управления ActiveX Label присваивается имя IblOccupation:

<OBJECT

classid="clsid:99B42120-6EC7-11CF-A6C7-OOAAOOA47DD2"

id=lbl0ccupation>

</OBJECT>


Java-апплеты

Чтобы присвоить имя Java-апплету, нужно установить атрибут NAME тэга <APPLET>.

 
Пример Здесь Java-апплету Outline присваивается имя myoutline:

\ <APPLET

CODE=Outline.class

NAME=myoutline

HEIGHT=150

WIDTH=200>

</APPLET>


Создание событийных процедур

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

Стандартные события

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

Элементы управления ActiveX и Java-апплеты на Web-странице поддерживают те же события, что и в других средах, например в Visual Basic или Visual J++.

Создание событийной процедуры

Событийную процедуру для объекта можно создать несколькими способами.

Присвоить процедуре имя ИмяОбъекта_Событие

Если Вы дадите процедуре имя типа ИмяОбъекта_Событие, она будет автоматически запускаться при возникновении указанного события для данного объекта. Это — та же система именования, что и для создания событийных процедур в Visual Basic.

 
Пример Процедура, приведенная здесь, запускается, когда пользователь щелкает элемент управления Button1:

Sub Button1_OnClick ()

End Sub


Создать отдельный раздел <SCRIPT>

Вы можете создать отдельный раздел <SCRIPT> для сценариев, запускаемых при возникновении определенных событий для выбранного элемента управления.

 
Пример Этот сценарий запускается при возникновении события Click элемента управления Calendar1:

<SCRIPT LANGUAGE="VBScript" FOR="Calendar1" EVENT="Click()">

<! -

MsgBox("Привет!")

</SCRIPT>

Этот способ создания событийных процедур элементов управления ActiveX и стандартных элементов управления HTML подходит как для JavaScript, так и для VBScript.

Назначить событийную процедуру при создании объекта

В тэге HTML, создающем объект, можно указать имя события и процедуру, вызываемую при его возникновении. Раздел <SCRIPT> с объявлением процедуры должен находиться перед тэгом HTML, определяющим объект.

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

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

<SCRIPT LANGUAGE=VBScript>

Sub ProcessOrder ()

...

End Sub

</SCRIPT>

<INPUT TYPE=RADIO NAME=RadioGroup onClick="ProcessOrder">


Этот метод поддерживают как VBScript, так и JavaScript.

Включить сценарий в тэг HTML

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

 
Пример Здесь сообщение «Привет всем!» выводится на экран, когда пользователь щелкает кнопку Hello:

<INPUT LANGUAGE="VBScript" TYPE=button Value="hello"

onClick ="MsgBox 'Привет всем!'">


Разработка событийных процедур

В этом упражнении Вы создадите код VBScript для подсчета общей стоимости товаров, выбранных в таблице Product.

Вы расширите функциональные возможности Web-страницы списка товаров Products.htm (воспользуйтесь оригиналом, находящимся в папке WA\Practice\Ch09).

> Добавление тэгов SCRIPT в Web-страницу Products

  1. Запустите Microsoft Frontpage 98.
  2. Создайте новую пустую страницу (Empty Web) и назовите ее Lab09.
  3. В меню File выберите Import.
  4. Щелкните Add File, выберите файл Lab09.htm в папке WA\Practice\Ch09 и нажмите ОК.
  5. Дважды щелкните Lab09.htm, чтобы открыть этот файл в редакторе Frontpage Editor.
  6. Поместите точку вставки справа от кнопки Calculate.
  7. В меню Insert укажите на Advanced и выберите Script.
  8. Введите приведенный ниже код и нажмите ОК:

    Function TotalIt()

    Dim price

    On Error Resume Next

    price = txtQ1.Text * 2.99

    price = price + txtQ2.Text * 75.59

    price = price + txtQ3.Text * 1.75

    price = price + txtQ4.Text * 7.99

    price = price + txtQ5.Text * 4.99

    Totallt = price

    End Function

> Применение мастера создания сценариев

  1. Щелкните правой кнопкой мыши кнопку Calculate и выберите в меню команду Script Wizard.
  2. В нижней части диалогового окна щелкните кнопку Code View.
  3. Свяжите с событием CalcTotal_OnClick формы frmButtonContainer приведенную ниже событийную процедуру:

    IblTotal.Caption = TotalItO

  4. Нажмите ОК, чтобы закрыть окно мастера создания сценариев.
  5. Сохраните изменения.
  6. Щелкните кнопку Preview in Browser на панели инструментов.
  7. Заполните поля заказа товаров и нажмите Calculate.

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

> Добавление событийной процедуры для элементов управления

  1. Переключитесь в окно Frontpage Editor.
  2. Правой кнопкой мыши щелкните счетчик в правом верхнем углу Web-стра ницы.
  3. Выберите Script Wizard.
  4. В событие spin1_SpinUp введите следующий код:

    txtql.text = txtql.text + 1

  5. В событие счетчика spinl_SpinDown добавьте следующий код:

    If txtql.text > 0 Then txtql.text = txtql.text - 1

  6. Повторите пункты 2—4 для каждой кнопки счетчиков Web-страницы, соответствующим образом изменяя имена текстовых полей (txtq2, txtq3, txtq4, и т.д.).
  7. Сохраните Web-страницу.
  8. Щелкните кнопку Preview in Browser на панели инструментов.

    Возможно, Вам придется нажать кнопку Refresh для перезагрузки страницы.

  9. Введите какие-нибудь значения и попробуйте поменять их с помощью кнопок.

Использование свойств и методов элементов управления

Обращение к свойствам и вызов методов — самые частые задачи, выполняемые событийными процедурами объектов.

Обращение к свойствам

Синтаксис Для установки значения свойства применяется следующий синтаксис:

Объект.Свойство = Значение

Синтаксис Для извлечения значения свойства применяется синтаксис:

Значение = Объект.Свойство

 
Пример Здесь считывается дата, выбранная в элементе управления Calendar, вычисляется

стоимость доставки в этот день и результат отображается в стандартном текстовом

поле HTML:

Sub ShipDate_Click()

Dim shiptime

shiptime = ShipDate.Value - Date ,

If shiptime < 0 Then

MsgBox "Невозможно доставить задним числом"

Elself shiptime < 5 Then

frmShip.txtCost.Value = 12

Else

frmShip.txtCost.Value = 8

End If

End Sub


Вызов методов

Синтаксис Методы в сценарии вызываются точно так же, как и в Visual Basic:

[Call] Объект.Метод

 

Пример Этот пример вызывает метод Today элемента управления Calendar, когда пользователь нажимает кнопку Reset:

Sub Reset_OnClick()

call ShipDate.Today()

End Sub


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

 

Резюме

Microsoft VBScript — это оптимизированная для работы в Интернете версия Microsoft Visual Basic. Синтаксис VBScript идентичен синтаксису Visual Basic for Applications, однако VBScript может быстро загружать сценарии по Интернету. VBScript поддерживает большинство встроенных функций Visual Basic, например Msgbox, Date и IsNumeric.

VBScript позволяет устанавливать значения свойств и вызывать методы элементов управления ActiveX и Java-апплетов на HTML-странице. VBScript поддерживает подпрограммы и процедуры-функции, а также переменные, типизацию данных, массивы, область видимости и константы. Коме того, VBScript содержит большинство управляющих структур Visual Basic for Applications. Как и в традиционных приложениях Visual Basic, Microsoft VBScript позволяет включить в Web-страницу сценарии обработки ошибок, а также управлять объектами и реагировать на события.