Sub-rotinas e Funções

Sub-rotinas e Funções do VBScript

Esta secção fornece uma visão geral da utilização de sub-rotinas e procedimentos em scripts VisualBasic do Altum Designer.

Passagem de Parâmetros para Procedimentos

Quando uma função ou sub-rotina (um procedimento/método) que pode aceitar parâmetros é definida num script, as variáveis podem ser passadas para a função ou sub-rotina de duas formas: por referência ou por valor, utilizando ByRef ou ByVal respetivamente.

Para declarar o método pelo qual os parâmetros são passados, utilize as palavras-chave ByRef ou ByVal na lista de parâmetros ao definir a função ou sub-rotina numa instrução Sub ou Function. Por exemplo, o fragmento de código seguinte define uma sub-rotina que aceita dois parâmetros. O primeiro é passado por valor e o segundo por referência:

Sub Test (ByVal Param1 As Integer , ByRef B As String)

A diferença entre os dois métodos é que ByRef passa uma referência para a variável e permite que a sub-rotina/função faça alterações à variável real que é passada como parâmetro. Este é o método predefinido de passagem de parâmetros e é utilizado se o método não for declarado explicitamente.

ByVal passa apenas o valor da variável. A sub-rotina ou função pode utilizar este valor, mas a variável original passada não é alterada.

Os exemplos seguintes ilustram as diferenças entre os métodos. O procedimento principal é o seguinte:

Sub Main
  Dim X, Y
  X = 45 : Y = "Number"
  Test X, Y   ' Call to a subprocedure called Test.
  MsgBox X
   MsgBox Y
End Sub

O procedimento acima inclui uma chamada a um subprocedimento Test — ver abaixo.

Se a sub-rotina for definida da seguinte forma:

Sub Test (ByRef A, ByRef B)
  B = B & " = " & A : A = 10*A
End Sub

Então as variáveis X e Y no procedimento principal são referenciadas diretamente pela sub-rotina. O resultado é que os valores de X e Y são alterados pela sub-rotina, pelo que, após a execução de Test; X = 450 e Y = "Number = 45". Este é o comportamento predefinido quando o método não é declarado explicitamente.

Se, no entanto, a sub-rotina for definida da seguinte forma:

Sub Test (ByVal A, ByVal B)
B = B & " = " & A : A = 10*A
End Sub

Então, após a execução de Test, o procedimento principal apresenta; X = 45 e Y = "Number" — ou seja, permanecem inalterados.

Em alternativa, se a sub-rotina for definida da seguinte forma (métodos mistos):

Sub Test (ByRef A, ByVal B)
  B = B & " = " & A : A = 10*A
End Sub

Então, após a execução de Test, X = 450 e Y = "Number", uma vez que Y foi passado por valor, permanece inalterado.

Pode substituir a definição ByRef de uma função ou sub-rotina colocando parênteses à volta do nome de uma variável na instrução de chamada.

Chamar Test com a seguinte instrução:

Test (X), Y

...passaria a variável X por valor, independentemente do método definido para esse parâmetro na definição do procedimento.

Rotinas de Data e Hora

A linguagem VBScript suporta um conjunto de rotinas de Data/Hora, conforme descrito abaixo:

Date

Day

Hour

IsDate

Minute

Month

Now

Second

Time

Year

 

 

Rotinas de E/S de Ficheiros

A linguagem VBScript suporta o seguinte conjunto de rotinas de E/S de ficheiros:

Dir

FileLen

FileTimeDate

FileCopy

Kill

Name

RmDir

MkDir

 

Rotinas Matemáticas

A linguagem VBScript suporta o seguinte conjunto de rotinas matemáticas:

Abs

Atn

Cos

Exp

Log

Not

Oct

Rnd

Sin

Sqn

Tan

 

Rotinas de Cadeias de Caracteres

A linguagem VBScript suporta um conjunto de rotinas de cadeias de caracteres, conforme descrito abaixo:

Asc

Chr

Format

InStr

InStrRev

LCase

Len

Left

Mid

Right

Str

Trim

LTrim

RTrim

UCase

Rotinas de Processos do Servidor

As rotinas de processos do servidor são utilizadas ao lidar com processos em scripts, especialmente quando há necessidade de extrair (obter) ou definir cadeias de caracteres para os parâmetros do processo.

Para executar processos e parâmetros em scripts, utilize as seguintes funções:

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-localized
If you find an issue, select the text/image and pressCtrl + Enterto send us your feedback.
Feature Availability

The features available to you depend on which Altium solution you have – Altium Develop, an edition of Altium Agile (Agile Teams or Agile Enterprise), or Altium Designer (on active term).

If you don’t see a discussed feature in your software, contact Altium Sales to find out more.

Legacy Documentation

Altium Designer documentation is no longer versioned. If you need to access documentation for older versions of Altium Designer, visit the Legacy Documentation section of the Other Installers page.

Conteúdo