1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| type
TShowHello = reference to procedure(aText :string);
//Création de la procédure anonyme
function MakeShowHello(aPrefix: string) :TShowHello;
begin
Result := procedure(aText :string)
begin
ShowMessage(aPrefix +' ' +aText);
end;
end;
//Appels
procedure DoShowHello;
var
ShowHello :TShowHello;
begin
ShowHello := MakeShowHello('Hello');
ShowHello('World'); //Affiche "Hello World"
ShowHello('DVP'); //Affiche "Hello DVP"
ShowHello := MakeShowHello('Bonjour');
ShowHello('le monde'); //Affiche "Bonjour le monde"
ShowHello('DVP'); //Affiche "Bonjour DVP"
end; |