пятница, 22 мая 2009 г.

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

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



Чтобы вызвать подпрограмму из вашего сценария, используйте следующий синтаксис:
call ProcedureName(arguments)

ProcedureName - это имя подпрограммы, которую вы вызываете; arguments - значения, передающиеся в процедуру. Как было сказано ранее, подпрограммы используются, когда требуется обработать какое-то событие, например:


В нашем случае это Click, т. е. пользователь должен щелкнуть мышкой на этом объекте. Это не будет работать для функции, потому что функция - это процедура, возвращающая значение. Что касается функций, то они сами могут быть возвращены как значение, например:


Следующий пример иллюстрирует вызовы подпрограммы и функции из сценария:


Документ HTML, использующий элементы <br />управления ActiveX и процедуры


CLASSID="CLSID:99B42120-6EC7-11CF-A6C7-00AA00A47DD2">






















Enter Angle:
SIZE="10"
MAXLENGTH="10">
The Sine is:
SIZE="10" MAXLENGTH="10">




Когда пользователь щелкает мышью по метке Label, то вызывается метод About Box. Поля ввода используются для вычисления синуса заданного угла (в градусах). Если ввести некоторое значение в первое поле ввода, помеченное текстом "Enter Angle", и щелкнуть на кнопке мышью, то введенный аргумент будет переведен в радианы и затем вычислен синус, результат чего будет отображен. Первая процедура вызывается по нажатию мышью на единственный объект на странице - кнопку, называемую button1. Когда это событие обрабатывается, то вызывается сразу несколько методов. Сначала обновляются все переменные, которые вы собираетесь использовать для вашей программы. Затем отыскивается значение, называемое AngleInpt, которое пользователь набрал в поле ввода. Далее вызывается функция, в которую заносится введенный параметр из поля AngleInpt. Она преобразует угловые градусы в радианы, затем вычисляет его синус (радианы являются основной мерой измерения углов для тригонометрических функций в VBScript). Значение связывается с именем функции (getsin), которая возвращает его для определенной нами ранее переменной. В итоге это значение отображается в текстовом поле, называемом SineInpt.

В данном примере задействовано два метода: подпрограмма button1_OnClick, которая, если вы помните, вызывается, когда пользователь щелкает мышью по кнопке, и функция getsin(angle), где angle - параметр, используемый для преобразования градусов в радианы. У элемента ActiveX Label используются два включаемых метода (методами называются собственные подпрограммы и функции объекта): тот, который вызывается, когда по метке щелкнули мышкой (ieLabel1_Click), и метод отображения диалоговой панели ieLabel.AboutBox(). Когда обращаются к методам объектов, обычно используют следующий синтаксис:
call ObjectName.MethodName()

Ключевое слово call применяется для вызова определенного метода. ObjectName - это имя объекта, для которого вы хотели бы вызвать метод, а MethodName() - это имя метода, который будет использовать сам объект. Имя объекта и вызываемый метод отделяются точкой. Также для вызова метода не требуется никаких скобок, потому что у него нет никаких параметров.

Комментариев нет: