定义在函数和过程内部的函数和过程称为局部函数和过程(子程序),子程序只在母过程内部有效。
成都创新互联公司是一家专业提供大兴安岭企业网站建设,专注与成都网站建设、做网站、HTML5建站、小程序制作等业务。10年已为大兴安岭众多企业、政府机构等服务。创新互联专业网站建设公司优惠进行中。
下面我们来看看如何实现一个局部函数和过程的定义和使用。
1、新建一个Application。
2、在Form1窗体上放置一个Memo组件(Memo1)和两个Button组件(Button1和Button2)。
3、双击Button1按钮,在Button1Click事件中输入以下代码:
procedure TForm1.Button1Click(Sender: TObject);
- var
- X: Integer;
- {a local procedure}
- procedure Test;
- begin
- Memo1.Lines.Add('Local Function, X = ' + IntToStr(X));
- end;
- begin
- X := 100;
- Memo1.Lines.Clear;
- Memo1.Lines.Add('Main Function, X = ' + IntToStr(X));
- Test;
- end;
4、双击Button2按钮,在Button2Click事件中输入以下代码:
- procedure TForm1.Button2Click(Sender: TObject);
- begin
- Test; { 因为Test是在Button1Click中定义的,因此会报错}
- end;
5、按Ctrl + F9编译该项目,会发现报出以下错误:Undeclared identifier: 'Test’(未定义的标识符)
6、注释掉Button2Click中的Test过程的调用,然后重新编译运行,并点击Button1按钮后,结果如下:
分析
Test过程包含在Button1Click过程的var段中,用这种方法声明的过程就是局部过程,它只局限于包含它的函数和过程。局部子程序只能被包含它的例程所调用,而在程序的其他地方时不能调用的。所以在Button2Click过程中无法实现Test的调用。
局部过程和函数的一个重要性质就是过程和函数中所包含的变量在局部子程序中也有效,如上面的范例Memo1中显示的两次X变量的值都是100,说明X变量不但在Button1Click中可用,也可以再它的子过程Test中使用。
以上程序均在Delphi7中编译通过。
原文:http://www.cnblogs.com/pchmonster/archive/2011/12/22/2298705.html
网站栏目:如何实现一个局部函数与过程
分享URL:http://www.mswzjz.cn/qtweb/news41/68041.html
攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能