• 回调函数


    implementation

    type
      Add = function(I : Integer):Integer; //声明一个方法类型,真心觉得delphi中的类型太多太多了,需要学习的路还很长.
    //--------------------------------------------------------------------------------------------------------------------
    function Addx(I : Integer): Integer;  //声明一个和上面方法类型相同参数的函数。
      begin
        Result := I * 2;
      end;

    function AddS(I : Integer;Fun : Add):Integer; //以方法类型作为参数
    begin
      Result := I + Fun(I);
      ShowMessage(IntToStr(Result));
    end;
      {$R *.dfm}


    procedure TForm1.FormCreate(Sender: TObject);
    var
      IncX : Add; // 声明方法类型的变量。
      I : Integer;
    begin
      IncX := Addx;  //让这个方法类型指向和它相同参数的变量、
      I := IncX(4); //现在操作这个IncX就等于操作Add。他们已经具备相同的功能;
      ShowMessage(IntToStr(I)); // 结果是8
    end;

    procedure TForm1.Button1Click(Sender: TObject);
    var
      IncX : Add;
    begin
      IncX := Addx;
      //回调函数的实现
      AddS(2,IncX);  //结果 = 6   因为  2 + 2*2 =6
    end;
    end.

  • 相关阅读:
    Mysql体系结构(第4天)
    常用的课程网站
    Mysql 升级、用户与授权,
    Bootstrap
    项目中用到的一些特殊字符和图标 Content:"2715",特殊字符和图标
    CentOS 7 安装与卸载MySQL
    Iterm2使用
    Linux定时任务
    Ext.create细节分析
    Ext.define细节分析
  • 原文地址:https://www.cnblogs.com/mdnx/p/2581628.html
Copyright © 2020-2023  润新知