Suche…
Einführung in die Prozeduren
Ein Sub
ist eine Prozedur, die eine bestimmte Aufgabe ausführt, aber keinen bestimmten Wert zurückgibt.
Sub ProcedureName ([argument_list])
[statements]
End Sub
Wenn kein Zugriffsmodifizierer angegeben wird, ist standardmäßig eine Prozedur Public
.
Eine Function
ist eine Prozedur, die Daten erhält und einen Wert zurückgibt, im Idealfall ohne globale oder Moduleffekte.
Function ProcedureName ([argument_list]) [As ReturnType]
[statements]
End Function
Eine Property
ist eine Prozedur, die Moduldaten einkapselt . Eine Eigenschaft kann bis zu 3 Zugriffsmethoden haben: Get
, um einen Wert oder eine Objektreferenz zurückzugeben, Let
einen Wert zuweisen und / oder Set
, um eine Objektreferenz zuzuweisen.
Property Get|Let|Set PropertyName([argument_list]) [As ReturnType]
[statements]
End Property
Eigenschaften werden normalerweise in Klassenmodulen verwendet (obwohl sie auch in Standardmodulen zulässig sind), wodurch der Zugriff auf Daten verfügbar gemacht wird, auf die der aufrufende Code sonst nicht zugreifen kann. Eine Eigenschaft, die nur einen Get
Accessor verfügbar macht, ist "schreibgeschützt". Eine Eigenschaft, die nur einen Let
und / oder Set
freigeben würde, ist "Nur-Schreiben". Nur Schreiben Eigenschaften sind keine gute Programmierpraxis - wenn der Client - Code einen Wert schreiben kann, sollte es in der Lage sein , es zu lesen zurück. Erwägen Sie, eine Sub
Prozedur zu implementieren, anstatt eine schreibgeschützte Eigenschaft zu erstellen.
Rückgabe eines Wertes
Eine Function
oder Property Get
Prozedur kann (und sollte!) Einen Wert an ihren Aufrufer zurückgeben. Dies geschieht durch Zuweisung der Kennung der Prozedur:
Property Get Foo() As Integer
Foo = 42
End Property
Funktion mit Beispielen
Wie bereits erwähnt, handelt es sich bei Funktionen um kleinere Prozeduren, die kleine Codeteile enthalten, die sich innerhalb einer Prozedur wiederholen können.
Funktionen werden verwendet, um Redundanz im Code zu reduzieren.
Ähnlich wie bei einer Prozedur kann eine Funktion mit oder ohne Argumentliste deklariert werden.
Funktion wird als Rückgabetyp deklariert, da alle Funktionen einen Wert zurückgeben. Der Name und die Rückgabevariable einer Funktion sind gleich.
Funktion mit Parameter:
Function check_even(i as integer) as boolean if (i mod 2) = 0 then check_even = True else check_even=False end if end Function
Funktion ohne Parameter:
Function greet() as String greet= "Hello Coder!" end Function
Die Funktion kann auf verschiedene Arten innerhalb einer Funktion aufgerufen werden. Da eine mit einem Rückgabetyp deklarierte Funktion grundsätzlich eine Variable ist. es wird ähnlich wie eine Variable verwendet.
Funktionale Anrufe:
call greet() 'Similar to a Procedural call just allows the Procedure to use the
'variable greet
string_1=greet() 'The Return value of the function is used for variable
'assignment
Weiterhin kann die Funktion auch als Bedingung für if- und andere Bedingungsanweisungen verwendet werden.
for i = 1 to 10
if check_even(i) then
msgbox i & " is Even"
else
msgbox i & " is Odd"
end if
next i
Weitere Funktionen können für ihre Argumente Modifikatoren wie By ref und By val haben.