VBScript: Prozeduren und Funktionen
Prozeduren und Funktionen sind elementarer Bestandteil fast jeder Programmiersprache. Mit Ihnen ist es möglich bestimmte Programmieraufgaben aus dem allgemeinen Programmablauf abzukapseln und damit wieder verwendbar zu machen.Prozeduren
Prozeduren beinhalten einfache Anweisungsfolgen die zu jedem Zeitpunkt aus aufgerufen werden können. Definiert wird eine Prozedur durch das Wortsub
gefolgt vom Prozedurnamen und zwei runden Klammern. Anschließend folgt der Prozedurkörper - also alle Anweisungen die hier ausgeführt werden sollen. Die Prozedur endet wiederum mit den Worten end sub
. Beispiel:
sub machWas()
a = 5+b
end sub
dim a,b
b = 3
machWas()
machWas
definiert, die hier nur eine Anweisung enthält. Im Script werden dann die zwei Variablen a
und b
erstellt und b
mit dem Wert 3 belegt. Anschließend wird die Prozedur aufgerufen, wodurch auch die darin enthaltenen Anweisungen ausgeführt werden und a
auf 8 (5+b
) gesetzt wird.Prinzipiell ist es egal an welcher Stelle im Quellcode Sie eine Prozedur definieren - der Form halber sollten Sie es jedoch im Anfangsbereich des Scriptes tun.
Funktionen
Funktionen entsprechen in etwa den Prozeduren, besitzen jedoch den Unterschied, dass Sie einen Wert zurück geben können. D.h. man kann sich z.B. ein Funktion schreiben die einen bestimmten Wert errechnet und diesen Wert dann auch entsprechend weiter verwenden. Eine Funktion wird prinzipiell gleich notiert, man schreibt lediglich stattsub
das Wort function
bzw. statt end sub
die Worte end function
. Beispiel:
function machWas()
machWas = 5+b
end function
dim a,b
b = 3
a = machWas()
abc
, wird mit abc = 3
der Rückgabewert der Funktion auf 3 gesetzt. Im Beispiel erhält damit die Variable a
den Rückgabewert der Funktion machWas
, a
ist also 8.Prinzipiell ist es egal an welcher Stelle im Quellcode Sie eine Funktion definieren - der Form halber sollten Sie es jedoch im Anfangsbereich des Scriptes tun.
Parameter übergeben
In den meisten Fällen benötigen Funktionen und Prozeduren weitere Informationen (sogenannte Parameter) um richtig arbeiten zu können. Ein Parameter muss hierzu bei der Prozedur- bzw. Funktionsdeklaration mit angegeben werden. Innerhalb der Klammern wird dazu ein oder mehrere Variablennamen notiert (mehrere durch Kommata voneinander getrennt). Jede dieser Variablen repräsentiert dann einen Parameter, mit dem innerhalb der Prozedur/Funktion gearbeitet werden kann. Wird die Prozedur/Funktion aufgerufen muss auch hier dann innerhalb der Klammern anstelle der Variablennamen die jeweiligen Parameterwerte übergeben werden. Beispiel:function Addition(a , b)
Addition = a+b
end function
ergebnis = Addition(3,7)
a
und b
) übergeben werden müssen. Die Funktion selbst nutzt die Variablen um daraus den Rückgabewert zu errechnen. Wird die Funktion nun aufgerufen, müssen ihr entsprechend auch die Werte für die Variablen übergeben werden.
Werteparameter
Bei Parametern unterscheidet man zusätzlich nach Referenz- und Werteparametern. Werteparameter sind Parameter, bei denen lediglich der Wert einer Variablen an die Prozedur/Funktion übergeben wird. Wird also beispielsweise eine Funktion aufgerufen die einen Parameter erwartet und als Parameter wird statt einem absoluten Wert wie im Beispiel eine Variable verwendet, wird an die Funktion lediglich der Wert der Variablen übergeben und nicht die Variable selbst. Wird innerhalb der Funktion der Wert geändert, bleibt er außerhalb der Funktion erhalten. Prinzipiell sind alle Parameter erst mal Werteparameter; möchte man es explizit definieren, setzt man bei der Funktions-/Prozedurdeklaration einfach das WortbyVal
vor den Parameternamen. Beispiel:
function Quadrat(byVal a)
a = a^2
Quadrat = a
end function
x = 4
ergebnis = Quadrat(x)
byVal
: Auch wenn innerhalb der Funktion der Wert von a
neu gesetzt wird, bleibt x
jedoch weiterhin bei seinem Wert.
Referenzparameter
Referenzparameter sind Parameter, bei denen statt einem Wert die gesamte Variablen an die Prozedur/Funktion übergeben wird. Wird beispielsweise innerhalb der Funktion der Wert eines Referenzparameters geändert, ändert sich auch der Wert der Ursprungsvariablen außerhalb der Funktion. Möchte man Referenzparameter definieren, setzt man bei der Funktions-/Prozedurdeklaration einfach das WortbyRef
vor den Parameternamen. Beispiel:
function Quadrat(byRef a)
a = a^2
Quadrat = a
end function
x = 4
ergebnis = Quadrat(x)
byRef
: Wenn innerhalb der Funktion der Wert von a
neu gesetzt wird, wird auch x
gleichzeitig angepasst - a
und x
haben also stets den gleichen Wert.
Öffentliche und private Prozeduren und Funktionen
Ebenso wie Variablen können auch Funktionen und Prozeduren als öffentlich oder privat deklariert werden. Soll eine Prozedur/Funktion als öffentlich gekennzeichnet werden, notiert man vorsub
bzw. function
das Wort public
. Soll eine Prozedur/Funktion als privat gekennzeichnet werden, notiert man vor sub
bzw. function
das Wort private
.
Du arbeitest in einer Agentur oder als Freelancer?
Dann wirf doch mal einen Blick auf unsere Software FeatValue.
Weiterlesen: ⯈ Schleifen
Über uns
Wir entwickeln Webanwendungen mit viel Leidenschaft. Unser Wissen geben wir dabei gerne weiter. Mehr über a coding project