Delphi 过程与函数
delphi 过程以保留字procedure开始,没有返回值;函数以保留字function开始,有返回值。过程参数位于括号里面,多个参数之间以分号分隔,例如:
procedure SetDate(Year: Integer; Month: Integer; Day: Integer);
也可以将相同类型的参数组合在一起,则上述过程标题写成:
procedure SetDate(Year, Month, Day: Integer);
函数在标题中还多了一项——返回值的类型。下面是一个返回值为Double型的函数标题:
function GetAverage(num:integer;total:Double):Double;
1.基本概念
(1)函数
函数有两类:
一类是标准函数,这一类函数由Delphi定义并实现,程序员可以直接引用;
另一类为自定义函数,一个自定义函数应首先在程序声明部分声明,之后才可以在程序的执行部分加以调用。
过程或函数的语句部分由begin开始、end结束。函数需要一个返回值。可以将返回值赋给函数名称,也可以将返回值赋给Result变量。
例::
function GetAverage(num:integer;total:Double):Double; begin GetAverage := total / num; end;
也可以将返回值赋给Result变量:
Result := total / num;
(2)过程
定义过程的保留字是procedure。
过程也有两类:一类为Delphi定义的标准过程,另一类为自定义过程。
2. 参数与作用域
(1)参数
过程和函数与外界的数据通信有两种方式:一种是通过全局量,另一种是通过参数。最常用的参数有值参数、变量参数和常量参数3种。
· 值参数 若参数定义为值参数,则函数的调用对实参的值没有影响。
· 变量参数(Var申明) 若参数定义为变量参数,则函数调用的结果对实参的值有影响。
· 常量参数(const 申明) 如果参数定义为常量参数,则当过程或函数执行时不改变形参的值。
如果当过程或函数执行时要求不改变形参的值,则最保险的办法是使用常量参数。在形式参数表的参数名称前加上保留字const可以使一个形参成为常量参数。
(2)作用域
1)全局变量是在主程序中定义的变量。
2)局部变量是在过程或函数中定义的变量。
全局变量对于整个程序均适用,局部变量只对定义它的过程或函数有效。
Object Pascal语言对于变量的作用域有如下约定:
1)在不同层次可以定义使用同名变量,但在同一层中1个变量只能定义1次。
2)同名变量在不同层次被定义时,代表不同的对象。执行内层程序时,外层的非局部变量虽然存在,却已经被屏蔽;而当程序从内层退出后,内层的局部变量就已经不存在,只有外层的那个非局部变量仍然存在。
需要注意的是,Delphi和其他一些语言不同,它的函数在返回值的时候并不中止函数本身,它总会执行到函数的最后一条语句。如果需要提前退出,可以用 Exit;语句。
Delphi 过程与函数的更多相关文章
- Delphi过程和函数中变量的作用域
变量的作用域是指变量能被某一子程序识别的范围. 全局变量和局部变量.全局变量是指在程序的type区定义的变量,而局部变量是在过程或函数的定义部分声明的变量.全局变量在整个程序中都有意义,局部变量只在它 ...
- 【delphi】Delphi过程、函数传递参数的八种方式
Delphi过程函数传递参数的八种方式
- Delphi过程函数传递参数的八种方式
今天一同事问我为什么有些过程函数里面有Var而有些没有,不解,遂到网上百度,得解.快哉,快哉. 在Delphi过程.函数中传递参数几个修饰符为Const.Var.Out.另一种不加修饰符的为默认按值传 ...
- Delphi过程函数传递参数的几种方式
Delphi过程函数传递参数的几种方式 在Delphi过程.函数中传递参数几个修饰符为Const.Var.Out. 另一种不加修饰符的为默认按值传递参数. 一.默认方式以值方式传递参数 proced ...
- Delphi之过程与函数
过程以保留字procedure开始,没有返回值:函数以保留字function开始,有返回值. 参数位于括号里面,多个参数之间以分号分隔,例如: procedure SetDate(Year: Inte ...
- Delphi 使用之函数
函数由一句或多句代码组成,可以实现某个特定的功能.使用函数可以使代码更加易读.易懂,加快编程速度及减少重复代码.过程与函数类似,过程与函数最重要的区别在于,过程没有返回值,而函数能有返回值. ...
- Object Pascal 过程与函数
过程与函数 过程与函数是实现一定功能的语句块,是程序中的特定功能单元.可以在程序的其他地方被调用,也可以进行递归调用.过程与函数的区别在于过程没有返回值,而函数有返回值. 1.过程与函数的定义 过程与 ...
- Delphi 常用API 函数
Delphi 常用API 函数 AdjustWindowRect 给定一种窗口样式,计算获得目标客户区矩形所需的窗口大小 AnyPopup 判断屏幕上是否存在任何弹出式窗口 ArrangeIconic ...
- Delphi 常用API 函数列表
Delphi 常用API 函数 AdjustWindowRect 给定一种窗口样式,计算获得目标客户区矩形所需的窗口大小AnyPopup 判断屏幕上是否存在任何弹出式窗口ArrangeIconicWi ...
随机推荐
- 发送xml报文去第三方请求获取xml报文数据
import java.io.*; import java.net.HttpURLConnection; import java.net.MalformedURLException; import j ...
- Linux hrtimer分析(2)
http://blog.csdn.net/angle_birds/article/details/17375901 本文介绍Linux2.6.29中,配置高精度模式的hrtimer与未配置高精度模式时 ...
- rtc关机闹钟4 AlarmManagerService.java
vim base/services/core/java/com/android/server/AlarmManagerService.java AlarmManager 调用 IAlarmManage ...
- ie6下兼容问题
最小高度问题:overflow:hidden 在ie6.7下 li本身不浮动 内容浮动 li产生3像素间隙 解决:vertical-align:top; 二.当ie6下最小高度问题和li间隙问题共存时 ...
- JSP 资源与网站
JS文件说明 1.1 jquery 描述:一个兼容多浏览器的javascript框架,可以操作文档对象.选择DOM元素.制作动画效果.事件处理.使用Ajax以及其他功能. 文件路径:Commonjs/ ...
- 查看centos是多少位的系统命令
打开命令行 运行下面命令 uname -i 如果是64位系统会显示x86_64 如果显示的是i386则是系统是32位
- MUI 版本更新
MUI版本更新,一些js,css 就不写了. 一.app 端 1.APP html 代码 <li class="mui-table-view-cell"> <a ...
- zookeeper系列之一—zookeeper入门
Zookeeper是什么? Zookeeper故名思议动物管理员,它是拿来管大象(Hadoop).蜜蜂(Hive).小猪(Pig)的管理员,Apache Hbase和Apache Solr以及Link ...
- CodeForces 628B New Skateboard
New Skateboard time limit per test 1 second memory limit per test 256 megabytes input standard input ...
- JDBC批量处理
转载自http://www.cnblogs.com/xdp-gacl/p/3983253.html 在实际的项目开发中,有时候需要向数据库发送一批SQL语句执行,这时应避免向数据库一条条的发送执行,而 ...