Подпрограммы и функции
Подпрограммы и функции VBScript
В этом разделе приводится обзор использования подпрограмм и процедур в скриптах VisualBasic для Altum Designer.
Передача параметров в процедуры
Когда в скрипте определена функция или подпрограмма (процедура/метод), которая может принимать параметры, переменные можно передавать в функцию или подпрограмму двумя способами: по ссылке или по значению, используя ByRef или ByVal соответственно.
Чтобы объявить, каким образом параметры передаются в метод, используйте ключевые слова ByRef или ByVal в списке параметров при определении функции или подпрограммы в операторе Sub или Function. Например, следующий фрагмент кода определяет подпрограмму, принимающую два параметра. Первый передаётся по значению, а второй — по ссылке:
Sub Test (ByVal Param1 As Integer , ByRef B As String)
Разница между двумя методами в том, что ByRef передаёт ссылку на переменную и позволяет подпрограмме/функции вносить изменения в фактическую переменную, переданную в качестве параметра. Это метод передачи параметров по умолчанию и используется, если способ не объявлен явно.
ByVal передаёт только значение переменной. Подпрограмма или функция может использовать это значение, но исходная переданная переменная не изменяется.
Следующие примеры иллюстрируют различия между методами. Основная процедура выглядит так:
Sub Main
Dim X, Y
X = 45 : Y = "Number"
Test X, Y ' Call to a subprocedure called Test.
MsgBox X
MsgBox Y
End Sub
В приведённой выше процедуре есть вызов подпроцедуры Test — см. ниже.
Если подпрограмма определена следующим образом:
Sub Test (ByRef A, ByRef B)
B = B & " = " & A : A = 10*A
End Sub
Тогда переменные X и Y в основной процедуре напрямую используются (по ссылке) подпрограммой. В результате значения X и Y изменяются подпрограммой, так что после выполнения Test; X = 450 и Y = "Number = 45". Это поведение по умолчанию, когда способ передачи не объявлен явно.
Если же подпрограмма определена следующим образом:
Sub Test (ByVal A, ByVal B)
B = B & " = " & A : A = 10*A
End Sub
Тогда после выполнения Test основная процедура сообщает; X = 45 и Y = "Number" — то есть они остаются неизменными.
Либо, если подпрограмма определена следующим образом (смешанные методы):
Sub Test (ByRef A, ByVal B)
B = B & " = " & A : A = 10*A
End Sub
Тогда после выполнения Test X = 450 и Y = "Number", поскольку Y был передан по значению, он остаётся неизменным.
Вы можете переопределить настройку ByRef для функции или подпрограммы, заключив имя переменной в круглые скобки в операторе вызова.
Вызов Test следующим оператором:
Test (X), Y
...передаст переменную X по значению, независимо от метода, заданного для этого параметра в определении процедуры.
Процедуры даты и времени
Язык VBScript поддерживает набор процедур даты/времени, перечисленных ниже:
|
|
|
|
|
|
|
|
|
|
|
|
Процедуры файлового ввода-вывода
Язык VBScript поддерживает следующий набор процедур файлового ввода-вывода:
|
|
|
|
|
|
|
|
|
Математические процедуры
Язык VBScript поддерживает следующий набор математических процедур:
|
|
|
|
|
|
|
|
|
|
|
|
Строковые процедуры
Язык VBScript поддерживает набор строковых процедур, перечисленных ниже:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Процедуры серверных процессов
Процедуры серверных процессов используются при работе с процессами в скриптах, особенно когда требуется извлечь (получить) или задать строки для параметров процесса.
Для выполнения процессов и параметров в скриптах используйте следующие функции:
|
|
|
|
|
|
|
|
|
Useful functions
|
|
|
|
|
|
|
|
|
Useful Dialogs
|
|
|
|
|
|