【Delphi笔记】第三部分:过程与函数

本文详细介绍了Delphi编程中的过程和函数声明语法,包括值参数、引用参数、常量参数以及开放数组。此外,还讲解了函数重载的概念和默认参数的使用规则。
摘要由CSDN通过智能技术生成

1、过程procedure

声明语法:

procedure 过程名(参数表);

var

  局部声明部分

begin

  过程体语句块

end;

2、函数function

声明语法:

function 函数名(参数表):返回值数据类型; 

var

  局部声明部分

begin

  函数体语句块

end;

3、参数类型

(1)值参数:在过程或函数内的更改不会改变外部值。

procedure Test(A: Integer);
begin
	A := 10;
end;

(2)引用参数:在过程或函数内部的更改会改变外部值。使用var关键字。

procedure Test(var A: Integer);
begin
	A := 10;
end;

【注意】通过引用参数可以实现返回多个值。

(3)常量参数:在过程或函数内部的不能更改。使用const关键字。

procedure Test(const A: Integer);
begin
	A := 10; //出错!!!
end;

【注意】const参数是被编译器优化的,不可以赋值

(4)开放数组参数:就是一个固定类型开放数组的元素,但是数组中的元素个数是未知数。

function Sum(const A: array of Integer): Integer;
var  
	I: Integer;
begin
	Result := 0;  
	for I := Low(A) to High(A) do
    	Result := Result + A[I];
end;

(5)类型变化的开放数组参数(了解):同开放数组参数,只是非固定类型。

function Sum(const A: array of const): Integer;
var  
	I: Integer;
begin
	Result := 0;  
	for I := Low(A) to High(A) do
	begin
		case A[I].VType of
			vtInteger: Result := Result + A[I].VInteger;
	    	vtString, vtAnsiString: Result := Result + StrToIntDef((A[I].VString^), 0);
	end;
end;

4、函数重载

函数重载允许你用同一名字定义多个函数或过程,只要它们所带的参数不同。

function Min(A ,B: Integer): Integer; overload;

function Min(A ,B: Int64): Int64; overload;

function Min(A, B: Single): Single; overload;

function Min(A, B: Double): Double; overload;

function Min(A, B: Extended): Extended; overload;

声明重载函数有两条原则:

1)后面必须添加overload关键字。

2)参数个数或(和)参数类型必须不同。

5、默认参数

使用规则:

1)如果要省略一个参数,必须省略它后面所有的参数。

2)带默认值的参数必须放在其他参数的最后面。

3)默认值必须是常量。显然,这限制了默认参数的数据类型,例如动态数组和界面类型的默认参数值只能是nil;至于记录类型,则根本不能用作默认参数。

4)默认参数必须通过值参或常参传递。引用参数var不能有默认值。

【注意】默认参数可以不传入,也可以写Default。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

酥饼大人。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值