Unterprogramme & Funktionen
VBScript-Subroutinen und -Funktionen
Dieser Abschnitt bietet einen Überblick über die Verwendung von Subroutinen und Prozeduren in VisualBasic-Skripten von Altum Designer.
Parameter an Prozeduren übergeben
Wenn in einem Skript eine Funktion oder Subroutine (eine Prozedur/Methode), die Parameter akzeptieren kann, definiert wird, können Variablen auf zwei Arten an die Funktion oder Subroutine übergeben werden: als Referenz oder als Wert, unter Verwendung von ByRef bzw. ByVal.
Um festzulegen, wie Parameter an die Methode übergeben werden, verwenden Sie die Schlüsselwörter ByRef oder ByVal in der Parameterliste, wenn Sie die Funktion oder Subroutine in einer Sub- oder Function-Anweisung definieren. Das folgende Codefragment definiert beispielsweise eine Subroutine, die zwei Parameter akzeptiert. Der erste wird als Wert und der zweite als Referenz übergeben:
Sub Test (ByVal Param1 As Integer , ByRef B As String)
Der Unterschied zwischen den beiden Methoden besteht darin, dass ByRef eine Referenz auf die Variable übergibt und es der Subroutine/Funktion ermöglicht, Änderungen an der tatsächlichen Variablen vorzunehmen, die als Parameter übergeben wurde. Dies ist die Standardmethode zur Parameterübergabe und wird verwendet, wenn die Methode nicht ausdrücklich deklariert wird.
ByVal übergibt nur den Wert der Variablen. Die Subroutine oder Funktion kann diesen Wert verwenden, aber die ursprünglich übergebene Variable wird nicht verändert.
Die folgenden Beispiele veranschaulichen die Unterschiede zwischen den Methoden. Die Hauptprozedur lautet wie folgt:
Sub Main
Dim X, Y
X = 45 : Y = "Number"
Test X, Y ' Call to a subprocedure called Test.
MsgBox X
MsgBox Y
End Sub
Die obige Prozedur enthält einen Aufruf der Unterprozedur Test — siehe unten.
Wenn die Subroutine wie folgt definiert ist:
Sub Test (ByRef A, ByRef B)
B = B & " = " & A : A = 10*A
End Sub
Dann werden die Variablen X und Y in der Hauptprozedur direkt von der Subroutine referenziert. Das Ergebnis ist, dass die Werte von X und Y durch die Subroutine verändert werden, sodass nach der Ausführung von Test gilt: X = 450 und Y = "Number = 45". Dies ist das Standardverhalten, wenn die Methode nicht ausdrücklich deklariert wird.
Wenn die Subroutine jedoch wie folgt definiert ist:
Sub Test (ByVal A, ByVal B)
B = B & " = " & A : A = 10*A
End Sub
Dann meldet die Hauptprozedur nach der Ausführung von Test: X = 45 und Y = "Number" — das heißt, sie bleiben unverändert.
Alternativ kann die Subroutine auch wie folgt definiert werden (gemischte Methoden):
Sub Test (ByRef A, ByVal B)
B = B & " = " & A : A = 10*A
End Sub
Dann gilt nach der Ausführung von Test: X = 450 und Y = "Number", da Y als Wert übergeben wurde und daher unverändert bleibt.
Sie können die Einstellung ByRef einer Funktion oder Subroutine außer Kraft setzen, indem Sie im aufrufenden Ausdruck Klammern um einen Variablennamen setzen.
Wenn Test mit der folgenden Anweisung aufgerufen wird:
Test (X), Y
...würde die Variable X als Wert übergeben, unabhängig von der für diesen Parameter in der Prozedurdefinition festgelegten Methode.
Datums- und Zeitroutinen
Die VBScript-Sprache unterstützt eine Reihe von Datums-/Zeit-Routinen, wie unten beschrieben:
|
|
|
|
|
|
|
|
|
|
|
|
Datei-I/O-Routinen
Die VBScript-Sprache unterstützt die folgenden Datei-I/O-Routinen:
|
|
|
|
|
|
|
|
|
Mathematische Routinen
Die VBScript-Sprache unterstützt die folgenden mathematischen Routinen:
|
|
|
|
|
|
|
|
|
|
|
|
String-Routinen
Die VBScript-Sprache unterstützt eine Reihe von String-Routinen, wie unten beschrieben:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Serverprozess-Routinen
Die Serverprozess-Routinen werden verwendet, wenn in Skripten mit Prozessen gearbeitet wird, insbesondere wenn Zeichenfolgen für die Prozessparameter extrahiert (abgerufen) oder gesetzt werden müssen.
Um Prozesse und Parameter in Skripten auszuführen, verwenden Sie die folgenden Funktionen:
|
|
|
|
|
|
|
|
|
Useful functions
|
|
|
|
|
|
|
|
|
Useful Dialogs
|
|
|
|
|
|