Altova UModel 2024 Professional Edition

Subroutinen

 

Syntax-Beispiel:

 

Sub SimpleSub()

 

... lines of code

EndSub

 

Sub ist das Schlüsselwort, das die Prozedur notiert.

SimpleSub ist der Name, der der Subroutine zugewiesen wurde.

Runde Klammern können eine Parameterliste enthalten.

Der Code-Block einer Subroutine beginnt direkt nach der geschlossenen Klammer nach dem Parameter.

EndSub notiert das Ende des Code-Blocks.

 

Bitte beachten Sie:

Eine rekursive oder kaskadierende Subroutine-Deklaration ist nicht zulässig, d.h. eine Subroutine darf keine weiteren Subroutinen enthalten.

 

 

Parameter

Parameter können auch durch Prozeduren unter Verwendung der folgenden Syntax übergeben werden:

 

Alle Parameter müssen Variablen sein

Variablen muss das \$-Zeichen vorangestellt werden

Lokale Variablen werden in einer Subroutine definiert

Globale Variablen werden explizit außerhalb von Subroutinen deklariert

Mehrere Parameter werden innerhalb runder Klammern durch Kommas "," voneinander getrennt

Parameter können Werte übergeben

 

Parameter - Übergabe von Werten

Parameter können auf zwei Arten übergeben werden: nach Wert oder nach Referenz, wobei die Schlüsselwörter ByVal bzw. ByRef verwendet werden.

 

Syntax:

 

' define sub CompleteSub()

[Sub CompleteSub( \$param, ByVal \$paramByValue, ByRef \$paramByRef )

] ...

 

 

ByVal definiert, dass der Parameter nach Wert übergeben wird. Beachten Sie, dass die meisten Objekte nur nach Referenz übergeben werden können.

ByRef definiert, dass der Parameter nach Referenz übergeben wird. Dies ist die Standardeinstellung, wenn weder ByVal noch ByRef definiert ist.

 

Funktionsrückgabewerte

Für die Rückgabe eines Werts von einer Subroutine verwenden Sie ein Return-Statement. Eine solche Funktion kann von innerhalb eines Ausdrucks aufgerufen werden.

 

Beispiel:

 

' define a function

[Sub MakeQualifiedName( ByVal \$namespacePrefix, ByVal \$localName )

if \$namespacePrefix = ""

return \$localName

else

return \$namespacePrefix & ":" & \$localName

endif

EndSub

]

© 2017-2023 Altova GmbH