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

Подпрограммы и функции 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 поддерживает набор процедур даты/времени, перечисленных ниже:

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 (Agile Teams или Agile Enterprise) или Altium Designer (на активной подписке).

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

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

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

Content