» Изучение
VBScript
» Главная
страница
»
VBScript
- оглавление
Процедуры
Процедуры
- это относительно самостоятельные
фрагменты программы, оформленные
особым образом и обозначенные
именами. Упоминание этих имен
в тексте программы называется
вызовами процедур. Процедуры
помогают разбить программу на
ряд независимых частей, что
необходимо для экономии памяти.
Каждая процедура существует
в программе в единственном экземпляре,
но обращаться к ней можно из
разных точек программы. При
вызове процедуры вступает в
действие последовательность
операторов, которые находятся
внутри этой процедуры. Процедуре
могут быть переданы некоторые
параметры.
Виды
процедур
В
VBScript существует два вида
процедур: подпрограмма (Sub)
и функция (Function). Подпрограмма
(Sub) - это последовательность
VBScript-операторов, обрамляемая
операторами Sub и End Sub. Подпрограммы
могут принимать параметры (константы,
переменные или выражения, которые
передаются при вызове процедуры),
но не возвращают значений. Если
подпрограмма не содержит параметров,
то ее оператор должен включать
пустой набор круглых скобок.
Следующая подпрограмма использует
две функции языка VBScript -
InputBox и MsgBox. Она запрашивает
у пользователя ввод температуры
в градусах Фаренгейта, переводит
ее в градусы Цельсия и отображает
результат. Вычисление температуры
происходит в функции Celsius.
<SCRIPT
LANGUAGE="VBScript">
<!-
Sub
ConvertTemp()
temp
= InputBox("Please enter
the temperature
in
degrees F.", 1)
MsgBox
"The temperature is "
&
Celsius(temp)
& " degrees C."
End
Sub
-></SCRIPT>
Функция
(Function) - это последовательность
операторов VBScript, обрамляемая
операторами Function и End Function.
Она похожа на подпрограмму,
но отличается от последней тем,
что может возвращать некоторое
значение. Функция может принимать
параметры (константы, переменные
или выражения, передаваемые
при вызове). Если она не содержит
параметров, то оператор Function
должен включать пустой набор
круглых скобок. Возвращаемый
тип у Function - Variant.
В
следующем примере функция Celsius
переводит градусы Фаренгейта
в градусы Цельсия. Когда вызывается
функция из подпрограммы ConvertTemp,
переменная, содержащая параметр-значение,
передается в функцию. Результат
вычисления возвращается в вызывающую
процедуру и отображается в MsgBox.
<SCRIPT
LANGUAGE="VBScript">
<!-
Sub
ConvertTemp()
temp
= InputBox("Please enter
the temperature in
degrees
F.", 1)
MsgBox
"The temperature is "
& Celsius(temp) & "
degrees
C."
End
Sub
Function
Celsius(fDegrees)
Celsius
= (fDegrees - 32) * 5 / 9
End
Function
->
</SCRIPT>
Перед
использованием процедур в своей
программе вы должны их объявить.
Их нужно всегда размещать в
самом начале раздела <HEAD>
вашей HTML-странички. Весь последующий
текст должен также находиться
в разделе <HEAD>. Операторы
Function и Sub, подобно другим
элементам языка VBScript, располагаются
между парой тегов <SCRIPT
LANGUAGE="VBScript">
</SCRIPT> для правильного
их распознавания браузером.
Кроме того, теги комментария
(<! - и - >) окружают
текст программы внутри тега
<SCRIPT>, гарантируя,
что сценарий не будет отображаться
в браузерах, которые не поддерживают
VBScript.
Любые
данные передаются в ваши процедуры
в виде параметров. При создании
подпрограммы (или функции) после
ее имени должны быть круглые
скобки. Любые параметры внутри
них отделяются запятыми. В следующем
примере параметр fDegrees передает
значения в функцию Celsius для
преобразования:
<SCRIPT
LANGUAGE="VBScript">
<!-
Function
Celsius(fDegrees)
Celsius
= (fDegrees - 32) * 5 / 9
End
Function
->
</SCRIPT>
Используйте
функции вместо подпрограмм,
если требуется возвратить некоторое
значение.
Использование
подпрограмм и функций
Для
применения функций в вашей программе
необходимо поставить ее название
справа от переменной или выражения,
в которое будет возвращаться
результат выполнения функции,
например:
<SCRIPT
LANGUAGE="VBScript">
<!-
Temp
= Celsius(fDegrees)
->
</SCRIPT>
или
<SCRIPT
LANGUAGE="VBScript">
<!-
MsgBox
"The Celsius temperature
is " &
Celsius(fDegrees)
& " degrees."
->
</SCRIPT>
Чтобы
вызвать одну процедуру из другой,
необходимо написать имя первой
со значениями требуемых параметров,
каждый из которых должен отделяться
от предыдущего запятой. Оператор
Call не требуется. Но если вы
все-таки используете его, то
нужно заключить любые параметры
в круглые скобки. Следующий
пример показывает две возможности
вызова процедуры MyProc. Один
использует оператор Call, другой
- нет. Оба выполняют одно и
то же.
<SCRIPT
LANGUAGE="VBScript">
<!-
Call
MyProc(firstarg, secondarg)
MyProc
firstarg, secondarg
->
</SCRIPT>
Обратите
внимание, что круглые скобки
опускаются при вызове подпрограммы,
если оператор Call не применяется.
Следующий
урок
|