Sottoprogrammi e funzioni

Sottoprocedure e funzioni VBScript

Questa sezione fornisce una panoramica sull'uso di sottoprocedure e procedure negli script VisualBasic di Altum Designer.

Passaggio di parametri alle procedure

Quando in uno script viene definita una funzione o sottoprocedura (una procedura/metodo) che può accettare parametri, le variabili possono essere passate alla funzione o alla sottoprocedura in due modi: per riferimento o per valore, utilizzando ByRef o ByVal rispettivamente.

Per dichiarare il metodo con cui vengono passati i parametri, utilizzare le parole chiave ByRef o ByVal nell'elenco dei parametri quando si definisce la funzione o la sottoprocedura in un'istruzione Sub o Function. Ad esempio, il seguente frammento di codice definisce una sottoprocedura 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 sottoprocedura/funzione di apportare modifiche alla variabile effettiva passata come parametro. Questo è il metodo predefinito di passaggio dei parametri e viene utilizzato se il metodo non viene dichiarato esplicitamente.

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

I seguenti esempi illustrano le differenze tra i 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 include una chiamata a una sottoprocedura Test — vedi sotto.

Se la sottoprocedura è 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 referenziate direttamente dalla sottoprocedura. Il risultato è che i valori di X e Y vengono modificati dalla sottoprocedura, per cui dopo l'esecuzione di Test; X = 450 e Y = "Number = 45". Questo è il comportamento predefinito quando il metodo non viene dichiarato esplicitamente.

Se, tuttavia, la sottoprocedura è definita come segue:

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

Allora, dopo l'esecuzione di Test, la procedura principale riporta; X = 45 e Y = "Number" — cioè rimangono invariati.

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

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

Allora, dopo l'esecuzione di Test, X = 450 e Y = "Number", poiché Y è stato passato per valore, rimane invariato.

È possibile ignorare l'impostazione ByRef di una funzione o sottoprocedura inserendo parentesi attorno al nome di una variabile nell'istruzione di chiamata.

La chiamata a 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 di data e ora

Il linguaggio VBScript supporta un insieme di routine di data/ora come indicato di seguito:

Date

Day

Hour

IsDate

Minute

Month

Now

Second

Time

Year

 

 

Routine di I/O file

Il linguaggio VBScript supporta il seguente insieme di routine di I/O 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 stringhe

Il linguaggio VBScript supporta una gamma di routine per stringhe come indicato di seguito:

Asc

Chr

Format

InStr

InStrRev

LCase

Len

Left

Mid

Right

Str

Trim

LTrim

RTrim

UCase

Routine di processo del server

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

Per eseguire processi e 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 + Invio per inviarci il tuo feedback.
Disponibilità delle funzionalità

Le funzionalità disponibili dipendono dalla soluzione Altium in uso – Altium Develop, un’edizione di Altium Agile (Agile Teams o Agile Enterprise), oppure Altium Designer (con licenza attiva).

Se non vedi nel tuo software una funzionalità descritta,  contatta il team 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