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:
|
|
|
|
|
|
|
|
|
|
|
|
Routine di I/O file
Il linguaggio VBScript supporta il seguente insieme di routine di I/O file:
|
|
|
|
|
|
|
|
|
Routine matematiche
Il linguaggio VBScript supporta il seguente insieme di routine matematiche:
|
|
|
|
|
|
|
|
|
|
|
|
Routine per stringhe
Il linguaggio VBScript supporta una gamma di routine per stringhe come indicato di seguito:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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:
|
|
|
|
|
|
|
|
|
Useful functions
|
|
|
|
|
|
|
|
|
Useful Dialogs
|
|
|
|
|
|