当前位置: 首页 > 图文教程 > 开发语言 > Delphi > Delphi面向对象的编程方法(三)

Delphi
Delphi在网络数据库中的应用
组件技术在Delphi中的实现(1)
如何在Delphi中操作Excel
巧用Delphi制作溅射屏幕
如何在Delphi中实现ASP编程
用Delphi编写可以断开Internet连接的程序
在DELPHI中利用API实现网格内组件的嵌入
你的大写数字规范吗
用Delphi实现打印功能
Delphi控件,我们也可以(4)
Delphi控件,我们也可以(3)
Delphi控件,我们也可以(2)
Delphi控件,我们也可以(1)
Delphi让你发送Flash电子邮件(2)
Delphi让你发送Flash电子邮件(1)
Delphi实现随时随刻知道自己的IP
从问题到结果 ――EXE2SWF的开发手记
用Delphi 6编程实现自动标注汉语拼音
在窗口标题区添加按钮
Delphi让你发送Flash电子邮件

Delphi面向对象的编程方法(三)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 50 ::
收藏到网摘: n/a

 

2.1.8.4 过程和函数的语句部分 

        过程或函数的语句部分由begin开始,end结束。函数需要一个返回值。可以将返回值赋给函数名称,也可以将返回值赋给Result变量。下面的例程将返回值赋给函数名称: 

function CalculateInterest(Principal,InterestRate: Double):Double;

begin

CalculateInterest := Principal * InterestRate;

end; 

        将返回值赋给Result变量也是可以的,则上面的程序改为: 

Result := Principal*InterestRate;

下面是这个函数的调用方法:

InterestEarned :=CalculateInterest(2000,0.012);

         在Implementation后面的过程和函数,可以且只能被此库单元的事件处理过程使用。要让过程和函数可以被其他的程序库单元使用,则需要将过程或函数的标题部分放在库单元中的interface部分,而把含标题的整个过程或函数放在库单元的inplementation部分,并在要访问这个过程或函数的库单元的uses子句中加入说明这个过程或函数的库单元名称。 

2.1.8.5 函数的递归调用 

       在Object Pascal中,过程或函数必须先说明再调用。上文的NoValue函数必须在使用它的事件处理过程之前说明和执行,否则程序会报告一个未知标识符的错误。

         以上规则在递归调用时是例外情况。所谓递归调用,是指函数A调用函数B,而函数B又调用函数A的情况。在递归调用中,函数要进行前置,即在函数或过程的标题部分最后加上保留字forword。下文的例程是一个递归调用的典型例子: 

implementation

var

alpha:Integer;

procedure Test2(var A:Integer):forword;

{Test2被说明为前置过程}

procedure Test1(var A:Integer);

begin

A :=A-1;

if A>0 then

test2(A); {经前置说明,调用未执行的过程Test2}

writeln(A);

end;

procedure Test2(var A:Integer);{经前置说明的Test2的执行部分}

begin

A :=A div 2;

if A>0 rhen

test1(A); {Test2中调用已执行的过程Test1}

end; 

procedure TForm1.Button1Click(Sender:TObject);

begin

Alpha := 15; {Alpha赋初值}

Test1(Alpha); { 第一次调用Test1,递归开始}

end; 

           按钮的OnClick事件处理过程给Alpha赋初值,并实现先减1再除2的循环递归调用,直到Alpha小于0为止。 

2.1.8.6 过程和函数的参数 

        当您的程序代码在调用一个过程或函数时,通常用参数传递数据到被调用的过程或函数中。最常用的参数有数值参数、变量参数和常量参数三种。

         由被调用过程或函数定义的参数为形参,而由调用过程