定义函数构型,然后在再调用函数
代码如下:
unit Unit1;interfaceuses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;type TForm1 = class(TForm) Memo1: TMemo; Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{ $R *.dfm}uses System.Diagnostics, System.Math;//函数定义procedure ShowOnMemo(ACount: Integer);var m_Watch: TStopwatch; I, J: Integer;begin J := 0; m_Watch := TStopwatch.StartNew; for I := 0 to ACount do begin J := Max(I, J); end; m_Watch.Stop; Form1.Memo1.Lines.Add('循环总耗时: ' + m_Watch.ElapsedMilliseconds.ToString);end;//定义函数构型type TIntProc = procedure(Num: Integer);//计时procedure TForm1.Button1Click(Sender: TObject);var m_Pro: TIntProc; m_Count: Integer;begin m_Pro := ShowOnMemo; m_Count := 2000000; m_Pro(m_Count);end;end.