Подпрограммы и функции

Подпрограммы и функции VBScript

В этом разделе представлен обзор использования подпрограмм и процедур в скриптах Visual Basic в 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 поддерживает набор процедур работы с датой и временем, описанных ниже:

Date

Day

Hour

IsDate

Minute

Month

Now

Second

Time

Year

 

 

Функции ввода-вывода файлов

Язык VBScript поддерживает следующий набор процедур ввода-вывода файлов:

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-LocalizedЛокализовано с помощью ИИ
Если вы обнаружили проблему, выделите текст/изображение и нажмитеCtrl + Enter, чтобы отправить нам свой отзыв.
Доступность функций

Доступные вам функции зависят от того, какое решение Altium вы используете: Altium Develop, Altium Agile Teams, Altium Agile Enterprise или Altium Designer (при активной подписке).

Если вы не видите описанную функцию в используемом вами программном обеспечении, свяжитесь с отделом продаж Altium, чтобы узнать больше.

Устаревшая документация

Документация Altium Designer больше не разделена по версиям ПО. Если вам необходим доступ к документации по старым версиям Altium Designer, посетите раздел Устаревшая документация на странице Прочие установщики.

Content