Subrutinas y funciones

Subrutinas y funciones de VBScript

Esta sección ofrece una visión general del uso de subrutinas y procedimientos en los scripts de VisualBasic de Altum Designer.

Paso de parámetros a procedimientos

Cuando en un script se define una función o subrutina (un procedimiento/método) que puede aceptar parámetros, las variables pueden pasarse a la función o subrutina de dos maneras: por referencia o por valor, utilizando ByRef o ByVal respectivamente.

Para declarar el método con el que se pasan los parámetros, use las palabras clave ByRef o ByVal en la lista de parámetros al definir la función o subrutina en una instrucción Sub o Function. Por ejemplo, el siguiente fragmento de código define una subrutina que acepta dos parámetros. El primero se pasa por valor y el segundo por referencia:

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

La diferencia entre los dos métodos es que ByRef pasa una referencia a la variable y permite que la subrutina/función realice cambios en la variable real que se pasa como parámetro. Este es el método predeterminado para pasar parámetros y se utiliza si el método no se declara explícitamente.

ByVal pasa únicamente el valor de la variable. La subrutina o función puede usar este valor, pero la variable original pasada no se modifica.

Los siguientes ejemplos ilustran las diferencias entre los métodos. El procedimiento principal es el siguiente:

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

El procedimiento anterior incluye una llamada a un subprocedimiento Test — véase a continuación.

Si la subrutina se define de la siguiente manera:

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

Entonces las variables X y Y del procedimiento principal son referenciadas directamente por la subrutina. El resultado es que los valores de X y Y son modificados por la subrutina, de modo que después de ejecutar Test; X = 450 e Y = "Number = 45". Este es el comportamiento predeterminado cuando el método no se declara explícitamente.

Sin embargo, si la subrutina se define de la siguiente manera:

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

Entonces, después de ejecutar Test, el procedimiento principal informa; X = 45 e Y = "Number"; es decir, permanecen sin cambios.

Como alternativa, si la subrutina se define de la siguiente manera (métodos mixtos):

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

Entonces, después de ejecutar Test, X = 450 e Y = "Number", ya que Y se pasó por valor, permanece sin cambios.

Puede anular la configuración de ByRef de una función o subrutina colocando paréntesis alrededor del nombre de una variable en la instrucción de llamada.

Llamar a Test con la siguiente instrucción:

Test (X), Y

...pasaría la variable X por valor, independientemente del método definido para ese parámetro en la definición del procedimiento.

Rutinas de fecha y hora

El lenguaje VBScript admite un conjunto de rutinas de fecha/hora como se describe a continuación:

Date

Day

Hour

IsDate

Minute

Month

Now

Second

Time

Year

 

 

Rutinas de E/S de archivos

El lenguaje VBScript admite el siguiente conjunto de rutinas de E/S de archivos:

Dir

FileLen

FileTimeDate

FileCopy

Kill

Name

RmDir

MkDir

 

Rutinas matemáticas

El lenguaje VBScript admite el siguiente conjunto de rutinas matemáticas:

Abs

Atn

Cos

Exp

Log

Not

Oct

Rnd

Sin

Sqn

Tan

 

Rutinas de cadenas

El lenguaje VBScript admite una variedad de rutinas de cadenas como se describe a continuación:

Asc

Chr

Format

InStr

InStrRev

LCase

Len

Left

Mid

Right

Str

Trim

LTrim

RTrim

UCase

Rutinas de procesos del servidor

Las rutinas de procesos del servidor se utilizan al trabajar con procesos en scripts, especialmente cuando es necesario extraer (obtener) o establecer cadenas para los parámetros del proceso.

Para ejecutar procesos y parámetros en scripts, utilice las siguientes funciones:

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.

Contenido