首页 第3章 过程与函数

第3章 过程与函数

举报
开通vip

第3章 过程与函数null第3章 过程与函数 第3章 过程与函数   一个比较大的程序可以被划分成若干个模块,每个模块完成一个或几个功能,每个功能可以用一个程序段来实现,这个程序段被称为“子程序”。在Delphi中,过程(Procedure)指没有返回值的“子程序”,而函数(Function)是有返回值的“子程序”。 3.1 过程   运行结束后没有返回值的子程序称为过程。在Delphi7中有三种类型的过程:即标准过程、事件过程和自定义过程。 null  其中标准过程和自定义过程又可以称为通用过程。即这两种过程可以独立于事...

第3章 过程与函数
null第3章 过程与函数 第3章 过程与函数   一个比较大的程序可以被划分成若干个模块,每个模块完成一个或几个功能,每个功能可以用一个程序段来实现,这个程序段被称为“子程序”。在Delphi中,过程(Procedure)指没有返回值的“子程序”,而函数(Function)是有返回值的“子程序”。 3.1 过程   运行结束后没有返回值的子程序称为过程。在Delphi7中有三种类型的过程:即 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 过程、事件过程和自定义过程。 null  其中标准过程和自定义过程又可以称为通用过程。即这两种过程可以独立于事件,被任何过程或函数调用。 3.1.1 标准过程  标准过程是系统内部已经定义好的过程,不需要编写代码,也不能改变过程的名称和参数。标准过程的调用非常简单,在需要调用的位置直接书写该过程即可 。 3.1.2 事件过程   当对象接受到某个动作时,Windows会通知Delphi产生一个事件(鼠标单击事件),而Delphi会自动执行该对象与该事件有关的一段程序,这就是该对象的一个事件过程。 null1.事件过程的创建   在窗体上(或在对象监视器中)选中该对象,然后在对象监视器的事件(Event)选项卡中选择相应的事件名,用鼠标双击其右侧的下拉列 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 框,Delphi将自动产生一个默认的事件过程框架,执行该事件的代码需要添加在框架内。Delphi产生的默认事件过程的名称遵循下面的命名原则:控件名称加上事件类型名(无On) 。 2.事件过程调用   已经创建完成的事件过程可以被其他事件过程调用 。null3.1.3 自定义过程    一般自定义过程定义在单元的implementation部分的中{$R *.dfm}后面。 1.自定义过程声明 自定义过程的一般声明 格式 pdf格式笔记格式下载页码格式下载公文格式下载简报格式下载 如下: procedure <过程名>[ ( <形参表> ) ]; [局部声明] begin [ <过程语句序列> ] end;   过程的声明必须以procedure开始,包括过程名,形参表,局部声明部分和以begin开始end结束的过程语句序列。 null  第一行必须以“;”分号结束,是过程首部。其余部分为过程的实现部分,必须包括一个begin-end结构。End后面也必须以“;”分号结束,表示过程结束。 <形参表>过程参数的一般书写形式为: ( [Var |Const] <参数名>:<类型>)   Var和Const为系统的保留字,Var表示参数传递方式为地址传递,即形参值的改变将反映到实参中。Const表示在过程内部不能改变形参的值。不带这两个参数的形参传递方式为值传递,即过程内部对形参值的改变将不会反映到实参中。null过程的定义可以有类似下面的两种形式: procedure GetSum(V1,V2:Integer;var Sum:Int64); procedure ProcNoPara; 2.自定义过程的创建和使用   一般可以创建两种自定义过程。一种是仅能本单元中使用,对其他的单元文件该过程不可见;另外一种就是还可以在其他单元中使用的公共过程。要创建能在其他单元中使用的过程,必须将过程首部声明在单元的公共接口部分(Interface)中。如果是仅在本单元内部使用的自定义过程,则必须先创建才能被使用 。 null3.2 函数   函数是有返回值的子程序,一般通过函数名或一个系统预定义的隐含变量Result返回函数的值。在Delphi中有两种函数,内部函数和自定义函数。 3.2.1标准函数   标准函数是系统内部已经定义好的函数。不能改变标准函数的参数以及返回值类型。 其定义形式如下:   function StrToInt(const S: string): Integer;   表明该函数接受一个常量参数,并返回一个整型值。null3.2.2 自定义函数 1.函数的定义  一般的语法格式为: Function <函数名> [(<形参表>)]:返回类型; [局部声明] Begin [<语句序列>] End ;   自定义函数含有一个以Function开始的函数首部,包括函数名,函数的形参表和函数的返回值类型以及返回值类型前面的“:” 冒号和后面的“;”分号。一个函数可以没有形参表,但必须有函数返回值类型, 同样也可以 null 没有局部声明,但必须有一个实现函数功能的函数体,以Begin开始,End结束。在End后也必须有一个“;”分号表示函数体的结束。 2.自定义函数的创建和使用   对于仅在本过程内部使用的函数,必须遵循先创建在使用的原则。如果想让一个函数对其他的单元也是可见的,则必须将函数首部定义在单元的接口部分。则函数功能的实现和调用之间的位置就不必遵循先创建再使用的规则。同样也需要使用一个与函数的返回值类型相同的变量来接受函数的返回值。 null【例3.3】使用自定义函数实现两个整数阶乘求和运算 (1)界面设计 使用Button、Edit、Label组件即可完成界面 设计,用户界面如图所示。 (2)属性设置 null(3)程序设计 function CalFact(Num:Integer):Int64; //关键 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 1 Var i,Value:integer; begin Value:=1; for i:=1 to Num do Value:=Value*i; Result:=Value; //由隐含变量Result带回计算值 end; function GetSum(V1,V2:Integer):Int64; //关键分析1 var SumV1,SumV2:Int64; //临时变量 begin SumV1:=CalFact(V1); //调用自定义函数 SumV2:=CalFact(V2); GetSum:=SumV1+SumV2; //由函数名返回阶乘之和 end; //********“计算”按钮单击事件*********//nullprocedure TForm1.Button1Click(Sender: TObject); Var Sum:Int64; Ed1,Ed2:Integer; begin if (edit1.Text='') or (edit2.Text='') Then begin application.MessageBox('请输入整数','提示',MB_OK); exit; end; Ed1:= StrtoInt(edit1.text); //将Edit1中的字符串转换为整型赋值给Ed1 Ed2:= StrtoInt(edit2.text); //将Edit2中的字符串转换为整型赋值给Ed2 Sum:= GetSum(Ed1,Ed2); //调用自定义函数 label3.Caption:=trim(Edit1.text)+'与'+trim(Edit2.text)+'的阶乘和为:'+IntToStr(Sum); end;null3.3 内部过程和函数   内部函数和过程是指定义在一个过程和函数内部,只能由该过程和函数使用的函数和过程,内部程序又称为程序嵌套。 1.嵌套层次 为了准确地表达嵌套层次, 通常将嵌套从外向内进行 编号,并把相应子程序的 层号称为子程序的嵌套深度。 一般单元文件为0层,其中的子程序从外向内依次为1层、2层、3层、…。 null 有嵌套关系的子程序,若层号相差为1,称为相邻层,并称层号小的为外层子程序,层号大的为内层子程序;若层号相差大于1,则称为隔层。 子程序的嵌套要求外层子程序能够完全包含内层子程序,不允许局部包含,即不允许交叉。 2.子程序的调用规则  Delphi中,子程序调用必须遵循如下规则: (1)子程序可以调用其相邻内层的子程序,不能隔层调用。如图4-4所示,A1可以调用A1B和A1C但不能调用A3。 (2)内层子程序可以调用外层的子程序而且允许null隔层调用。如A2B可以调用A2,A3调用A1 (3)同一层的子程序,允许后 定义的子程序调用先定义的 子程序,如A2C可以调用A2B 但是A2B不可以调用A2C。 (4)如果需要调用同层中后定 义的子程序,必须用保留字 forward(超前引用)对后面 的子程序提前说明。null补充: Swap(int p1,int p2) { int temp; temp:=p1; p1=p2; p2=temp; } main() { int a,b; a=3;b=5; If a
本文档为【第3章 过程与函数】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_102752
暂无简介~
格式:ppt
大小:195KB
软件:PowerPoint
页数:0
分类:互联网
上传时间:2013-04-05
浏览量:13