Einzelnen Beitrag anzeigen

Delphi.Narium

Registriert seit: 27. Nov 2017
2.419 Beiträge
 
Delphi 7 Professional
 
#6

AW: For-Schleife als Template mit Prozedur als Parameter?

  Alt 2. Jan 2018, 13:43
Unter Delphi 7 kann man das so machen:
Delphi-Quellcode:
Type
  // Einen Typen festlegen, der den Aufrufparametern der zu "verschleifenden" Funktionen entspricht.
  tFormel = function(a : Integer; b : Integer) : LongInt;
  // Proceduren würden auch gehen.
  tProzeduren = Procedure(a : Integer; b : Integer);

function EineFormel(a : Integer; b : Integer) : LongInt;
begin
  Result := a * b;
end;

function NochEineFormel(a : Integer; b : Integer) : LongInt;
begin
  Result := a + b;
end;

function For_A_To_B_Do(AForVon : Integer; AForBis : Integer; AFormel : TFormel; aParameter : Integer; bParameter : Integer) : Integer;
var
  i : Integer;
begin
  Result := 0;
  for i := AForVon to AForBis do Result := Result + AFormel(aParameter, bParameter);
end;

function machmalwas : Integer;
var
  Formel : TFormel;
begin
  Formel := EineFormel;
  Result := For_A_To_B_Do(1,100,Formel,100,200);
  Formel := NochEineFormel;
  Result := Result div For_A_To_B_Do(1,100,Formel,100,200);
end;
Und das ist noch nichteinmal kryptisch.

Geändert von Delphi.Narium ( 2. Jan 2018 um 13:50 Uhr) Grund: PS: Das hat auch schon unter Turbo-Pascal funktioniert ;-)
  Mit Zitat antworten Zitat