Unterprozeduren (Visual Basic)
Eine Sub
Prozedur ist eine Reihe von Visual Basic-Anweisungen, die von den Sub
Anweisungen und End Sub
eingeschlossen werden. Die Sub
Prozedur führt eine Aufgabe aus und gibt dann die Steuerung an den aufrufenden Code zurück, gibt jedoch keinen Wert an den aufrufenden Code zurück.
Jedes Mal, wenn die Prozedur aufgerufen wird, werden ihre -Anweisungen ausgeführt, beginnend mit der ersten ausführbaren Anweisung nach der Sub
-Anweisung und enden mit der ersten End Sub
, Exit Sub
- oder Return
-Anweisung.
Sie können eine Sub
Prozedur in Modulen, Klassen und Strukturen definieren. Standardmäßig ist Public
dies , was bedeutet, dass Sie sie von überall in Ihrer Anwendung aufrufen können, die Zugriff auf das Modul, die Klasse oder die Struktur hat, in der Sie sie definiert haben. Der Begriff Methode beschreibt eine Sub
- oder Function
-Prozedur, auf die von außerhalb des definierenden Moduls, der Klasse oder der Struktur zugegriffen wird. Weitere Informationen finden Sie unter Prozeduren.
Eine Sub
Prozedur kann Argumente wie Konstanten, Variablen oder Ausdrücke annehmen, die vom aufrufenden Code an sie übergeben werden.
Deklarationssyntax
Die Syntax zum Deklarieren einer Sub
Prozedur lautet wie folgt:
[modifiers] Sub SubName[(parameterList)]
' Statements of the Sub procedure.
End Sub
Der modifiers
kann Zugriffsebene und Informationen zum Überladen, Überschreiben, Freigeben und Schattieren angeben. Weitere Informationen finden Sie unter Sub-Anweisung.
Parameterdeklaration
Sie deklarieren jeden Prozedurparameter ähnlich wie eine Variable, indem Sie den Parameternamen und den Datentyp angeben. Sie können auch den Übergabemechanismus angeben und angeben, ob der Parameter optional oder ein Parameterarray ist.
Die Syntax für jeden Parameter in der Parameterliste lautet wie folgt:
[Optional] [ByVal | ByRef] [ParamArray] parameterName As DataType
Wenn der Parameter optional ist, müssen Sie auch einen Standardwert als Teil seiner Deklaration angeben. Die Syntax zum Angeben eines Standardwerts lautet wie folgt:
Optional [ByVal | ByRef] parameterName As DataType = defaultValue
Parameter als lokale Variablen
Wenn die Steuerung an die Prozedur übergeben wird, wird jeder Parameter als lokale Variable behandelt. Dies bedeutet, dass seine Lebensdauer mit der des Verfahrens identisch ist, und sein Geltungsbereich ist das gesamte Verfahren.
Aufrufen der Syntax
Sie rufen eine Sub
Prozedur explizit mit einer eigenständigen aufrufenden Anweisung auf. Sie können sie nicht aufrufen, indem Sie ihren Namen in einem Ausdruck verwenden. Sie müssen Werte für alle Argumente angeben, die nicht optional sind, und Sie müssen die Argumentliste in Klammern einschließen. Wenn keine Argumente angegeben werden, können Sie optional die Klammern weglassen. Die Verwendung des Call
Schlüsselworts ist optional, wird jedoch nicht empfohlen.
Die Syntax für einen Aufruf einer Sub
Prozedur lautet wie folgt:
[Call] SubName[(argumentlist)]
Sie können eine Sub
Methode von außerhalb der Klasse aufrufen, die sie definiert. Zunächst müssen Sie das New
Schlüsselwort verwenden, um eine Instanz der -Klasse zu erstellen, oder eine Methode aufrufen, die eine Instanz der -Klasse zurückgibt. Weitere Informationen finden Sie unter Neuer Operator. Anschließend können Sie die folgende Syntax verwenden, um die Sub
-Methode für das Instanzobjekt aufzurufen:
object.MethodName[(argumentList)]
Abbildung der Deklaration und des Aufrufs
Das folgende Sub
Verfahren teilt dem Computeroperator mit, welche Aufgabe die Anwendung ausführen wird, und zeigt auch einen Zeitstempel an. Anstatt diesen Code zu Beginn jeder Aufgabe zu duplizieren, ruft tellOperator
die Anwendung einfach von verschiedenen Speicherorten auf. Jeder Aufruf übergibt eine Zeichenfolge im Argument, die task
die gestartete Aufgabe identifiziert.
Sub tellOperator(ByVal task As String)
Dim stamp As Date
stamp = TimeOfDay()
MsgBox("Starting " & task & " at " & CStr(stamp))
End Sub
Das folgende Beispiel zeigt einen typischen Aufruf von tellOperator
.
tellOperator("file update")