Notice Of Closure

Please note that this website is due to close down on 15th June 2020.

In the interim I will try to move as much content as possible over to my GitHub account. Thanks to everyone who has supported the site over the years.

» Help

How to use a function or a procedure as a parameter to another function

   
  1. Declare the function (or procedure) that will be used as a parameter. In the example below, this is TFunctionParameter.
  2. Define a function that will accept another function as a parameter. In the example below this is DynamicFunction.
type
  TFunctionParameter = function(const value: integer): string;

// ...

function One(const value: integer): string;
begin
  result:= IntToStr(value);
end;

function Two(const value: integer): string;
begin
  result:= IntToStr(2 * value);
end;

function DynamicFunction(f: TFunctionParameter): string;
begin
  result:= f(2006);
end;

Example usage:

var
  s: string;
begin
  s := DynamicFunction(One) ;
  ShowMessage(s) ; //will display "2006"

  s := DynamicFunction(Two) ;
  ShowMessage(s) ; // will display "4012"
end;
Author: Shlomo Abuisak
Contributor: Shlomo Abuisak
Added: 2009-11-05
Last updated: 2009-11-05

« Return to contents »