Einzelnen Beitrag anzeigen

Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.268 Beiträge
 
Delphi 11 Alexandria
 
#1

Procedure mit Variablen als Parameter

  Alt 14. Okt 2008, 18:35
Gibt es eine Möglichkeit eine Procedure mit Variablen Parametern zu definieren, ohne daß alle Variablen genutzt werden müssen?

OK. Schwer zu erklären und schwer zu verstehen. Ich versuche es mal anhand von Beispielen zu erklären.

Es ist folgende Procedure definiert.

Delphi-Quellcode:
procedure TMeinObject.EineKomplexeBerechnung(var aWert1:double; var aWert2:double; var aWert3:double; var aWert4:double; var aWert5:double);
begin
  // hier viele Schleifen und viel Berechnung
  // Den Variablen aWert1,aWert2,aWert3,aWert4,aWert5 werden hier berechnete Werte zugewiesen
end;

Diese Procedure wird im Programm öffters mal aufgerufen. Je nachdem benötige ich alle Werte, sehr oft aber auch nur z.B aWert3 und aWert4. Da die Werte aber als Variable in der Procedure definiert sind, muss ich natürlich auch Variablen bereitstellen, obwohl ich diese nicht brauche.

Beispiel

Delphi-Quellcode:
Procedure TMeinObject.EineBerechnung;
var
  lWert1:double;
  lWert2:double;
  lWert3:double;
  lWert4:double;
  lWert5:double;
begin
  EineKomplexeBerechnung(lWert1,lWert2,lWert3,lWert4,lWert5);
  BerechneIrgendwasX(lWert4);
  BerechneIrgendwasX(lWert5);
end;
Hier sieht man, daß die Variablen lWert1,lWert2,lWert3 deklariert werden, obwohl diese eigendlich nicht gebraucht werden. Sieht unschön aus.

Gibt es eine Möglichkeit die Procedure so zu definieren, daß ich so eine Art NIL übergeben kann. Nennen wir es einfach mal xNil

Beispiel

Delphi-Quellcode:
Procedure TMeinObject.EineBerechnung;
var
  lWert4:double;
  lWert5:double;
begin
  EineKomplexeBerechnung(xNil,xNil,xNil,lWert4,lWert5);
  BerechneIrgendwasX(lWert4);
  BerechneIrgendwasX(lWert5);
end;
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat