摘要:
//把一个方法当作另一个方法的参数, 就是回调方法, 大家习惯称作回调函数 type TFunType = function(i: Integer): Integer; {声明一个方法类型} function MyFun(i: Integer): Integer; {建立类型兼容的函数} begin 阅读全文
摘要:
//弄明白这一点, 才好使用回调函数 {定义方法类型} type TFunType = function(x: Integer): Integer; {函数类型} TProcType = procedure(name: string); {过程类型} {定义一个符合 TFunType 类型的函数} 阅读全文
摘要:
{自定义过程} procedure MyProc; begin ShowMessage('ok'); end; {自定义函数} function MyFun: string; begin Result := 'ok'; end; {读取它们的指针} procedure TForm1.Button1C 阅读全文
摘要:
{ 下面的函数重名, 但参数不一样, 此类情况必须加 overload 指示字; 调用时, 会根据参数的类型和个数来决定调用哪一个; 这就是重载. } function MyFun(s: string): string; overload; begin Result := '参数是一个字符串: ' 阅读全文
摘要:
{现在这个函数并没有 var 前缀, 也就是说参数应该不会被修改的} function MyFun(p: PInteger): Integer; {PInteger 是 Integer 的指针类型} begin p^ := p^ * 2; Result := p^; end; {测试} proced 阅读全文
摘要:
//给一个整型开放数组求和的函数 function MyFun(const arr: array of Integer): Integer; var i: Integer; begin Result := 0; for i in arr do Result := Result + i; end; { 阅读全文
摘要:
//静态数组做参数, 不能这样使用: function MyFun(arr: array[0..9] of Integer): Integer; var i: Integer; begin Result := 0; for i in arr do Result := Result + i; end; 阅读全文
摘要:
//Delphi 支持过程中的方法 procedure TForm1.Button1Click(Sender: TObject); procedure alert(s: string); begin ShowMessage(s); end; begin alert('万一'); {万一} end; 阅读全文
摘要:
//要点18: 如果函数在接口区定义了, 就无需用 forward 提前声明了 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, 阅读全文
摘要:
//要点17: 如果前面的方法要调用后面的方法, 后面的方法需要提前声明 function MyFunB(x: Integer): Integer; forward; {使用 forward 指示字提前声明} function MyFunA(x: Integer): Integer; begin R 阅读全文