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

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.

Hinweis: Delphi unterstützt eine Syntaxerweiterung, die es erlaubt im Funktionskörper die vordeklarierte Variable result zu verwenden. Die Variable result enthält den Rückgabewert und kann alternativ zur Zuweisung zum Funktionsnamen verwendet werden. result ist immer vom Typ des Rückgabewerts.

Beispiel: Im Folgenden ist die Deklaration und die Anwendung einer einfachen Funktion gezeigt, die immer den größeren von zwei Werten zurück liefert:

function CalcMax (v1, v2: double): double;

begin
if v1 > v2
  then CalcMax := v1
  else CalcMax := v2;
end;
...
...
var
  FillWeight : double;
...
...
FillWeight := CalcMax(Weight, 50);
...

Die Zuweisung der Funktion CalcMax zur Variablen FillWeight setzt diese auf den Wert von Weight falls Weight größer als 50 ist, ansonsten wird der Wert 50 zugewiesen.


Man kann jede Funktion aber auch in beliebigen Ausdrücken einsetzen: z.B.:

if (sqr(CalcMax(Price1, Price2)) > Threshold) then
  ...

Hier wird zuerst die Funktion CalcMax aufgerufen, um das Maximum der beiden Preise Price1 und Price2 zu ermitteln, dann wird das Resultat quadriert und dann das Quadrat des größeren Preises mit dem Wert Threshold verglichen.

Last Update: 2008-09-09