Altova XMLSpy 2023 Enterprise Edition

子程序

 

语法示例:

 

Sub SimpleSub()

 

... lines of code

EndSub

 

Sub表示该程序的关键词。

SimpleSub是分配给子程序的名称。

括号可以包含一个参数列表。

子程序的代码块在右参数括号之后立即开始。

EndSub 表示代码块的结束。

 

提示:不允许有递归或级联的子程序声明,即一个子程序不得包含另一个子程序。

 

参数

参数也可以通过程序传递,使用以下语法:

 

所有参数都必须是变量

变量必须以\$ 字符为前缀

局部变量是在子程序中定义的

全局变量是在子程序之外明确声明的

在圆括号内多个参数之间用“,” 逗号字符分隔

参数可以传递值

 

参数—传递值

参数可以通过两种方式传递,通过值和通过引用,分别使用ByValByRef关键词。

 

语法:

 

' define sub CompleteSub()

[Sub CompleteSub( \$param, ByVal \$paramByValue, ByRef \$paramByRef )

] ...

 

ByVal指定该参数是通过值传递的。请注意,大多数对象仅能通过引用传递。

ByRef指定该参数是通过引用传递的。如果未指定ByVal或ByRef,则使用此默认值。

 

函数返回值

要从子程序中返回值,请使用return 语句。这类函数可以从表达式中调用。

 

示例:

 

' define a function

[Sub MakeQualifiedName( ByVal \$namespacePrefix, ByVal \$localName )

if \$namespacePrefix = ""

return \$localName

else

return \$namespacePrefix & ":"& \$localName

endif

EndSub

]

© 2017-2023 Altova GmbH