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....

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:

In der Kopfzeile werden der Name der Prozedur und eventuelle Parameter deklariert. Werden keine Parameter übergeben, so lässt man die Klammer einfach weg. Die Übergabe der Parameter kann auf zweierlei Art erfolgen: Entweder als Konstante, oder als Variable. Soll ein Parameter variabel sein, so muss dies durch ein vorgestelltes var-Statement deklariert werden. In diesem Fall kann die Prozedur diesen Wert ändern und die Änderung wird nach außen auch sichtbar. Die Parameterliste entspricht syntaktisch einer normalen Variablendeklaration, es dürfen auch mehrere Variablen gleichen Typs mit Beistrichen getrennt zusammengefasst werden (siehe Beispiele unten).

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.

Beispiele: Die folgenden drei Prozeduraufrufe zeigen drei verschiedene aber typische Einsatzfälle von Prozeduren.

  procedure LoadStandardPalette;
Diese Prozedur lädt einen Satz von vordefinierten Farben. Parameter sind nicht nötig, daher wird die Klammer weggelassen.

  procedure MarkAllItems (ItemID: ItemType; ClassNumber: byte);
Hier werden zwei Parameter übergeben, die dazu dienen, im Prozedurkörper die notwendigen Informationen zur Bearbeitung der Aufgabe zur Verfügung zu haben.

  procedure M2R (xin,yin: longint; var xout,yout:  double);
Bei diesem Aufruf werden nicht nur Parameter an die Prozedur übergeben, sondern es wird auch ein Ergebnis zurückgegeben. Die Parameter xout und yout haben nach dem Aufruf der Prozedur einen von der Prozedur veränderten Wert.

Last Update: 2008-09-09