Unterschied zwischen Funktionen & Unterroutinen in Visual Basic

April 25

Unterschied zwischen Funktionen & Unterroutinen in Visual Basic

Wenn Sie planen, auf eine Visual Basic-Anwendung zu entwickeln, ist eines der ersten Dinge, die Sie wissen müssen den Unterschied zwischen Funktionen und Unterroutinen, auch bekannt als Sub-Prozeduren. Sie können sich vorstellen von Unterroutinen und Funktionen als Miniatur-Programme. Im Gegensatz zu Variablen, Subroutinen und Funktionen halten Sie keine Daten; Stattdessen halten sie VB-Code. Wenn Sie Daten zurückgeben möchten, verwenden Sie dann eine Funktion--sonst, verwenden Sie eine Unterroutine. Sie können die Funktionen von Unterroutinen und umgekehrt aufrufen.

Definition

Ein Unterprogramm besteht aus einer Reihe von Visual Basic-Anweisungen, die von den "Sub" und "End Sub" Anweisungen eingeschlossen. Eine Function-Prozedur besteht auch aus einer Reihe von Visual Basic-Anweisungen, aber es muss Anweisungen "Funktion" und "End Function" eingeschlossen werden. Alle ausführbarer Code muss in eine Subroutine und eine Function-Prozedur sein. Beide können in Modulen, Klassen und Strukturen definiert werden.

Erklärung

Sie deklarieren eine Unterroutine in einer Weise ähnlich wie Sie eine Variable deklarieren würde, indem Sie den Parameter Name und den Datentyp angeben. Sie können die Parameterübergabemechanismus wie "ByVal" oder "ByRef." angeben. Jeder Parameter wird als eine lokale Variable an die Unterroutine, was bedeutet, dass die Lebensdauer des Parameters identisch mit dem des Verfahrens ist behandelt. In einer Funktion können Sie den Datentyp des Werts deklarieren, die es gibt, wie "Integer" oder "Double." Wenn Sie nicht die "Returntype" angeben, gibt die Funktion einen "Object"-Datentyp zurück.

Zurückgeben von Daten

In VB können Sie ein Argument an eine Prozedur (Unterroutine oder Funktion) als Wert oder als Verweis übergeben durch die Schlüsselwörter "ByVal" oder "ByRef" angeben. Behandeln Sie standardmäßig eine Unterroutine und eine Funktion ihre Argumente wie durch Wert, was bedeutet, dass das Verfahren nicht den Inhalt der Variable Element im Aufrufcode ändern kann. Eine Funktion wird einen Wert zurückgeben, indem Sie den Namen der Funktion den Wert zuweisen, oder auch in der "Return"-Anweisung. Eine Unterroutine nicht normalerweise einen Wert zurückgeben, aber Sie können definieren, dass ein Argument als "ByRef" als Parameter einen Wert zurückgeben.

Beispiel

Es folgt ein Beispiel für ein Unterprogramm:

Sub tellOperator dargestellt (ByVal Aufgabe As String)

Dim stamp As Date

stamp = TimeOfDay()

MsgBox("Starting " & task & " at " & CStr(stamp))

EndSub

Im folgenden ist ein Beispiel einer Funktion:

Funktion MyFunction (ByVal j As Integer) As Double

Return 3.87 * j

EndFunction