上一页 1 ··· 182 183 184 185 186 187 188 189 190 ··· 215 下一页
摘要: //弄明白这一点, 才好使用回调函数 {定义方法类型} type TFunType = function(x: Integer): Integer; {函数类型} TProcType = procedure(name: string); {过程类型} {定义一个符合 TFunType 类型的函数} function MyFun(x: Integer): Integer;... 阅读全文
posted @ 2008-01-15 11:13 万一 阅读(5003) 评论(13) 推荐(0)
摘要: {自定义过程} procedure MyProc; begin ShowMessage('ok'); end; {自定义函数} function MyFun: string; begin Result := 'ok'; end; {读取它们的指针} procedure TForm1.Button1Click(Sender: TObject); var p: Pointer; be... 阅读全文
posted @ 2008-01-15 01:06 万一 阅读(4341) 评论(2) 推荐(0)
摘要: { 下面的函数重名, 但参数不一样, 此类情况必须加 overload 指示字; 调用时, 会根据参数的类型和个数来决定调用哪一个; 这就是重载. } function MyFun(s: string): string; overload; begin Result := '参数是一个字符串: ' + s; end; function MyFun(i: Integer): s... 阅读全文
posted @ 2008-01-15 00:51 万一 阅读(5553) 评论(6) 推荐(0)
摘要: {现在这个函数并没有 var 前缀, 也就是说参数应该不会被修改的} function MyFun(p: PInteger): Integer; {PInteger 是 Integer 的指针类型} begin p^ := p^ * 2; Result := p^; end; {测试} procedure TForm1.Button1Click(Sender: TObject);... 阅读全文
posted @ 2008-01-15 00:23 万一 阅读(5257) 评论(4) 推荐(0)
摘要: //给一个整型开放数组求和的函数 function MyFun(const arr: array of Integer): Integer; var i: Integer; begin Result := 0; for i in arr do Result := Result + i; end; {测试1:} procedure TForm1.Button1Click(Sender... 阅读全文
posted @ 2008-01-15 00:16 万一 阅读(7182) 评论(11) 推荐(0)
摘要: //静态数组做参数, 不能这样使用: function MyFun(arr: array[0..9] of Integer): Integer; var i: Integer; begin Result := 0; for i in arr do Result := Result + i; end; //应该先把数组定义成一个类型 Type IntArray = array[... 阅读全文
posted @ 2008-01-14 23:33 万一 阅读(5924) 评论(7) 推荐(0)
摘要: //Delphi 支持过程中的方法 procedure TForm1.Button1Click(Sender: TObject); procedure alert(s: string); begin ShowMessage(s); end; begin alert('万一'); {万一} end; 阅读全文
posted @ 2008-01-14 21:42 万一 阅读(3864) 评论(0) 推荐(0)
摘要: //要点18: 如果函数在接口区定义了, 就无需用 forward 提前声明了 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) ... 阅读全文
posted @ 2008-01-14 21:41 万一 阅读(4063) 评论(0) 推荐(0)
摘要: //要点17: 如果前面的方法要调用后面的方法, 后面的方法需要提前声明 function MyFunB(x: Integer): Integer; forward; {使用 forward 指示字提前声明} function MyFunA(x: Integer): Integer; begin Result := MyFunB(x) * 3; {要调用后面的方法, 后面的方法需要提前声明... 阅读全文
posted @ 2008-01-14 21:40 万一 阅读(4066) 评论(0) 推荐(0)
摘要: //要点16: 在实现区(implementation), 自定义的方法是有顺序的 function MyFunA(x: Integer): Integer; begin Result := Sqr(x); {取平方} //MyFunB(x); {前面的函数不能调用后面的函数} end; function MyFunB(x: Integer): Integer; begin ... 阅读全文
posted @ 2008-01-14 21:36 万一 阅读(4140) 评论(2) 推荐(0)
上一页 1 ··· 182 183 184 185 186 187 188 189 190 ··· 215 下一页