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.