» Изучение
VBScript
» Главная
страница
»
VBScript
- оглавление
Вызов
методов
Чтобы
вызвать подпрограмму из вашего
сценария, используйте следующий
синтаксис:
call
ProcedureName(arguments)
ProcedureName
- это имя подпрограммы, которую
вы вызываете; arguments - значения,
передающиеся в процедуру. Как
было сказано ранее, подпрограммы
используются, когда требуется
обработать какое-то событие,
например:
<SCRIPT>
...
sub
MyObject_Click()
alert
"This is a subroutine which
is called _
when
the Click event happens for
the MyObject object."
end
sub
...
</SCRIPT>
В
нашем случае это Click, т. е.
пользователь должен щелкнуть
мышкой на этом объекте. Это
не будет работать для функции,
потому что функция - это процедура,
возвращающая значение. Что касается
функций, то они сами могут быть
возвращены как значение, например:
<SCRIPT>
...
y
= 2
x
= GiveValue(y)
alert
x
...
function
GiveValue(a)
GiveValue
= a + 4
end
function
...
</SCRIPT>
Следующий
пример иллюстрирует вызовы подпрограммы
и функции из сценария:
<HTML>
<HEAD>
<TITLE>Документ
HTML, использующий элементы
управления
ActiveX и процедуры </TITLE>
</HEAD>
<BODY
BGCOLOR="mistyrose">
<OBJECT
ID="IeLabel1" WIDTH=170
HEIGHT=93
CLASSID="CLSID:99B42120-6EC7-11CF-A6C7-00AA00A47DD2">
<PARAM
NAME="_ExtentX" VALUE="3625">
<PARAM
NAME="_ExtentY" VALUE="2461">
<PARAM
NAME="Caption" VALUE="Click
Me">
<PARAM
NAME="Angle" VALUE="0">
<PARAM
NAME="Alignment" VALUE="4">
<PARAM
NAME="Mode" VALUE="1">
<PARAM
NAME="FillStyle" VALUE="0">
<PARAM
NAME="FillStyle" VALUE="1">
<PARAM
NAME="ForeColor" VALUE="#FF0000">
<PARAM
NAME="BackColor" VALUE="#373737">
<PARAM
NAME="BackStyle" VALUE="1">
<PARAM
NAME="FontName" VALUE="Courier">
<PARAM
NAME="FontSize" VALUE="24">
<PARAM
NAME="FontItalic"
VALUE="0">
<PARAM
NAME="FontBold" VALUE="0">
<PARAM
NAME="FontUnderline"
VALUE="0">
<PARAM
NAME="FontStrikeout"
VALUE="0">
<PARAM
NAME="TopPoints" VALUE="0">
<PARAM
NAME="BotPoints" VALUE="0">
</OBJECT><BR
CLEAR="ALL">
<INPUT
TYPE="button" NAME="button1"
VALUE="Get Value">
Enter
Angle:
<INPUT
TYPE="text" NAME="AngleInpt"
VALUE="0"
SIZE="10"
MAXLENGTH="10">
The
Sine is:
<INPUT
TYPE="text" NAME="SineInpt"
VALUE="0"
SIZE="10"
MAXLENGTH="10">
<SCRIPT
LANGUAGE="VBScript">
dim
pi
pi
= 4 * atn(1.0)
sub
button1_OnClick
dim
angle, sinangle
angle
= AngleInpt.value
sinangle
= getsin(angle)
SineInpt.value
= sinangle
end
sub
function
getsin(angle)
getsin
= sin((pi * angle)/180)
end
function
sub
ieLabel1_Click
call
ieLabel1.AboutBox
end
sub
</SCRIPT>
</BODY>
</HTML>
Когда
пользователь щелкает мышью по
метке 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() - это имя метода,
который будет использовать сам
объект. Имя объекта и вызываемый
метод отделяются точкой. Также
для вызова метода не требуется
никаких скобок, потому что у
него нет никаких параметров.
Следующий
урок
|