| Der Epina Delphi-Kurs bietet Ihnen eine allgemeine Einführung in das Programmieren mit Delphi/Pascal. Mit vielen ausgearbeiteten Beispielen können Sie direkt in die Delphi-Programmierung einsteigen. Mehr dazu finden Sie hier.... |

Delphi Kurs Unterprogramme, Units und Libraries Prozeduren und Funktionen |
||||||||||
| See also: Eingebaute Funktionen, Delphi Funktionsübersicht | ||||||||||
Unterprogramme - Prozeduren und FunktionenProfessionelles Programmieren bedeutet immer auch mit möglichst wenig Aufwand den maximalen Erfolg zu erzielen. Eine der Strategien, möglichst hohe Effizienz beim Programmieren zu erzielen, ist der Einsatz von wiederverwendbarem Code. Dies ist u.a. eines der Ziele der objektorientierten Programmierung. Allerdings ist bereits der Einsatz von Unterprogrammen ein erster Schritt zu wiederverwendbarem Code. Die Idee hinter Unterprogrammen ist einfach: wenn man einen Programmteil so gestaltet, dass dieser nur über eine definierte Schnittstelle benützt werden kann und keine Nebenwirkungen auftreten, so kann dieser Programmcode in verschiedenen Situationen immer wieder aufgerufen werden. Der Aufruf eines Unterprogramms geht dabei technisch so vor sich, dass die Rückkehradresse vor dem Aufruf auf dem Stack gespeichert wird. Am Ende des Unterprogramms nimmt dieses die Rückkehradresse vom Stack und springt dorthin.
Aus der Sicht des Programmierers gibt es zwei Arten von Unterprogrammen: Prozeduren und Funktionen. Der Unterschied zwischen diesen beiden Arten liegt darin, dass Funktionen einen Rückgabewert haben und Prozeduren keinen. Man kann also Funktionen in Ausdrücke syntaktisch genau so einbauen wie Konstanten. Allerdings liefern diese "Konstanten" keinen konstanten Wert sondern eben den jeweils berechneten Funktionswert.
Prozeduren Wie schon erwähnt, haben Prozeduren keinen Rückgabewert - das heißt aber nicht, dass man aus Prozeduren keine dort berechneten Werte zurückgeben kann, sondern nur, dass der Prozedurname nicht wie eine Konstante in den Code eingebaut werden kann. Eine Prozedur weist folgende Struktur auf:
Fast jedes Unterprogramm benötigt Variablen zur Durchführung der Aufgabe. Hilfsvariablen, die nur während der Ausführung der Prozedur notwendig sind, werden als lokale Variablen deklariert. Diese werden zwischen Prozedurkopf und Prozedurkörper deklariert und sind nur während der Abarbeitung des Unterprogramms vorhanden und gültig. Lokale Variablen verlieren ihren Wert zwischen zwei Aufrufen der Prozedur, da die lokalen Variablen am Stack angelegt und beim Verlassen des Unterprogramms wieder zerstört werden.
Funktionen Für Funktionen gilt im Wesentlichen dasselbe wie für Prozeduren. Zusätzlich gibt eine Funktion einen Wert zurück, der dem Namen der Funktion zugewiesen wird. Darum muss im Kopf einer Funktion der Typ des Rückgabewerts deklariert werden (vor dem abschließenden Strichpunkt, durch Doppelpunkt und Typbezeichner). Im Körper der Funktion existiert eine (undeklarierte) Variable mit dem Namen der Funktion; dieser Variablen muss der Rückgabewert zugewiesen werden.
|
||||||||||