子程序和函数

VBScript 子程序和函数

本节概述了如何在 Altum Designer VisualBasic 脚本中使用子程序和过程。

向存储过程传递参数

当脚本中定义了可以接受参数的函数或子程序(过程/方法)时,变量可以通过两种方式传递给函数或子程序:通过引用或通过值,使用 ByRefByVal分别将变量传递给函数或子程序。

要声明将参数传递给的方法,使用 ByRefByVal关键字来声明参数传递给的方法。 SubFunction语句中定义函数或子程序时,在参数列表中使用 or 关键字。例如,以下代码片段定义了一个接受两个参数的子程序。第一个参数通过值传递,第二个参数通过引用传递:

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

那么变量 XY子程序直接引用主程序中的变量和结果是 XY的值被子程序改变,因此在 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 语言支持下面列出的一系列日期/时间例程:

Date

Day

Hour

IsDate

Minute

Month

Now

Second

Time

Year

文件 IO 例程

VBScript 语言支持以下一组文件 IO 例程:

Dir

FileLen

FileTimeDate

FileCopy

Kill

Name

RmDir

MkDir

数学例程

VBScript 语言支持以下一组数学例程:

Abs

Atn

Cos

Exp

Log

Not

Oct

Rnd

Sin

Sqn

Tan

字符串例程

VBScript 语言支持以下一系列字符串例程:

Asc

Chr

Format

InStr

InStrRev

LCase

Len

Left

Mid

Right

Str

Trim

LTrim

RTrim

UCase

服务器进程例程

服务器进程例程用于处理脚本中的进程,尤其是需要提取(获取)或设置进程参数的字符串时。

要在脚本中执行进程和参数,请使用以下函数:

AddColorParameter

AddIntegerParameter

AddLongIntParameter

AddSingleParameter

AddWordParameter

GetIntegerParameter

GetStringParameter

ResetParameters

RunProcess

Useful functions

SetCursorBusy

ResetCursor

CheckActiveServer

GetActiveServerName

GetCurrentDocumentFileName

RunApplication

SaveCurrentDocument

Useful Dialogs

ConfirmNoYes

ConfirmNoYesCancel

ShowError

ShowInfo

ShowWarning

AI-LocalizedAI 翻译
如您发现任何问题,请选中相关文本/图片,并按 Ctrl + Enter 键向我们提交反馈。
功能可用性

您可使用的功能取决于您所选择的 Altium 解决方案 —— Altium DevelopAltium Agile(Agile Teams 或 Agile Enterprise 版本),或仍在有效订阅期内的 Altium Designer。

如果您在软件中未找到文中提及的功能,请联系 Altium 销售团队了解更多信息。

旧版文档

Altium Designer 文档不再提供版本区分。如果您需要访问 Altium Designer 旧版本的文档,请前往其他安装程序页面的旧版文档部分。

Content