PDA

Vollständige Version anzeigen : Prozedur / Funktion


Sickboy
30.03.2001, 21:11
Kann mir jemand den Unterschied zwischen einer Prozedur und Funktion erklären!!!

Danke

Manuela Kulpa
31.03.2001, 08:39
Hallo Sickboy!

Zwischen einer Funktion und einer Prozedur gibt es nur einen entscheidenden Unterschied. Eine Funktion liefert ein Ergebnis, eine Prozedur nicht.

Eine Funktion wird normalerweise in einer expliziten oder impliziten Zuweisung aufgerufen, damit das Ergebnis vom Aufrufenden auch benutzt werden kann.

<font face="Courier New" size="3"><pre>[Public | Private ] [Static] Function Funktionsname
[(Argumentenliste)] [As Type]
[Anweisungen]
[Funktionsname = Ausdruck]
[Anweisungen]
[Exit Function]
[Anweisungen]
[Funktionsname = Ausdruck]]
End Function</pre></font>

Die Struktur einer Funktion ist nahezu identisch zur Struktur einer Prozedur. Die Schlüsselwörter Private, Public und Static haben bei einer Funktion die gleiche Bedeutung wie bei einer Prozedur. Auch die Argumentenliste ist gleich wie bei einer Prozedur. Der Unterschied reduziert sich auf die Verwendung des Schlüsselworts Function (anstatt Sub) und den Zusatz As Type am Ende der Definitionszeile.

Zwei weitere Schlüsselworte, die sich nur namentlich von denen einer Prozedur unterscheiden, sind Exit Function und End Function. Mit Exit Function wird eine Funktion vorzeitig beendet. Mit End Function wird die Funktion normal beendet und sie dient gleichzeitig im Programmcode als Abschluss der Funktion.

Verwende Prozeduren, wenn deine Anweisungen kein Ergebnis haben.

<font face="Courier New" size="3"><pre>[Private | Public [Static] Sub Prozedurname [(Parameterliste)]
[Anweisungen]
[Exit Sub]
[Anweisungen]
End Sub</pre></font>

Eine Prozedur ist eine Sammlung von Anweisungen, die durch eine Definitionszeile (enthält das Schlüsselwort Sub und den Prozedurnamen) und die Schlüsselwörter End Sub eingekleidet sind. Wird die Prozedur aufgerufen, werden alle Anweisungen zwischen Sub und End Sub ausgeführt. Ein vorzeitiger Abbruch der Funktion kann über die Schlüsselwörter Exit Sub auch innerhalb der Prozedur erfolgen.

Alles weitere findest du eigentlich in der OL-Hilfe bzw. in einem guten Buch über VB(A).

LLAP