Subroutine e funzioni

Subroutine e funzioni VBScript

Questa sezione offre una panoramica sull'utilizzo delle subroutine e delle procedure negli script Visual Basic di Altum Designer.

Passaggio di parametri alle procedure

Quando in uno script viene definita una funzione o una subroutine (una procedura/metodo) in grado di accettare parametri, è possibile passare variabili alla funzione o alla subroutine in due modi: per riferimento o per valore, utilizzando ByRef rispettivamente ByVal rispettivamente.

Per dichiarare il metodo a cui vengono passati i parametri, utilizzare l’operatore ByRef o ByVal nel elenco dei parametri quando si definisce la funzione o la subroutine in un Sub o Function . Ad esempio, il seguente frammento di codice definisce una subroutine che accetta due parametri. Il primo viene passato per valore e il secondo per riferimento:

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

La differenza tra i due metodi è che ByRef passa un riferimento alla variabile e consente alla subroutine/funzione di apportare modifiche alla variabile effettiva passata come parametro. Questo è il metodo predefinito per il passaggio dei parametri e viene utilizzato se il metodo non è dichiarato esplicitamente.

ByVal passa solo il valore della variabile. La subroutine o la funzione può utilizzare questo valore, ma la variabile originale passata non viene modificata.

Gli esempi seguenti illustrano le differenze tra i due metodi. La procedura principale è la seguente:

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

La procedura sopra riportata include una chiamata a una sottoprocedura Test — vedi sotto.

Se la subroutine è definita come segue:

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

Allora le variabili X e Y nella procedura principale vengono richiamate direttamente dalla subroutine. Il risultato è che i valori di X e Y vengono modificati dalla subroutine, per cui dopo l’ Test è stata eseguita, X = 450 e Y = "Number = 45". Questo è il comportamento predefinito quando il metodo non è dichiarato esplicitamente.

Se, tuttavia, la subroutine è definita come segue:

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

Allora, dopo l’ Test è stata eseguita, la procedura principale riporta: X = 45 e Y = "Number" — ovvero, rimangono invariate.

In alternativa, se la subroutine è definita come segue (metodi misti):

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

Allora, dopo Test è stata eseguita, X = 450 e Y = "Number", poiché Y è stato passato per valore, rimane invariato.

È possibile sovrascrivere l’ ByRef impostazione di una funzione o subroutine racchiudendo il nome della variabile tra parentesi nell’istruzione di chiamata.

Chiamando Test con la seguente istruzione:

Test (X), Y

...passerebbe la variabile X per valore, indipendentemente dal metodo definito per quel parametro nella definizione della procedura.

Routine per data e ora

Il linguaggio VBScript supporta una serie di routine relative a data e ora, come illustrato di seguito:

Date

Day

Hour

IsDate

Minute

Month

Now

Second

Time

Year

 

 

Routine di I/O su file

Il linguaggio VBScript supporta la seguente serie di routine di I/O su file:

Dir

FileLen

FileTimeDate

FileCopy

Kill

Name

RmDir

MkDir

 

Routine matematiche

Il linguaggio VBScript supporta il seguente insieme di routine matematiche:

Abs

Atn

Cos

Exp

Log

Not

Oct

Rnd

Sin

Sqn

Tan

 

Routine per le stringhe

Il linguaggio VBScript supporta una serie di routine per le stringhe, come illustrato di seguito:

Asc

Chr

Format

InStr

InStrRev

LCase

Len

Left

Mid

Right

Str

Trim

LTrim

RTrim

UCase

Routine relative ai processi server

Le routine relative ai processi server vengono utilizzate quando si gestiscono processi negli script, in particolare quando è necessario estrarre (ottenere) o impostare stringhe per i parametri del processo.

Per eseguire processi e impostare i relativi parametri negli script, utilizzare le seguenti funzioni:

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-LocalizedLocalizzato tramite A
Se trovi un problema, seleziona il testo/l’immagine e premi Ctrl + Enter per inviarci il tuo feedback.
Disponibilità delle funzionalità

Le funzionalità a tua disposizione dipendono dalla soluzione Altium di cui disponi: Altium Develop, Altium Agile Teams, Altium Agile Enterprise oppure Altium Designer (con abbonamento attivo).

Se non vedi una funzionalità documentata nel software che stai effettivamente utilizzando, contatta il reparto vendite di Altium per saperne di più.

Documentazione legacy

La documentazione di Altium Designer non è più suddivisa per versione. Se è necessario accedere alla documentazione delle versioni precedenti di Altium Designer, visitare la sezione Documentazione legacy della pagina Altri programmi di installazione.

Contenuto