鱼C论坛

 找回密码
 立即注册
查看: 2559|回复: 0

[学习笔记] 浅谈Delphi过程与函数02 - 零基础入门学习Delphi021

[复制链接]
发表于 2017-8-15 16:45:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本课讲过程的参数,参数分为传值变量和传址变量,还有常数参数。传值占用多一倍的空间,但不会对原参数修改,这种方式运用最多;传址会因过程内改变参数的值而改变,delphi的函数只有一个返回值,用此方法可以同时得到多个“返回值”。
传值:
procedure TForm1.Label1Click(Sender: TObject);
var
  i, j: Integer;
begin
  i:= 5;
  j:= 3;
  My(i, j);
  //i=5;
  //j=3
end;
procedure TForm1.My(x,z: Integer);
var
  y: integer;
begin
  y:= 10;
  x:= y + 1; //x=11
  z:= y - 1; //y=9
end;

传址:需在变量名前加上var
procedure TForm1.Label1Click(Sender: TObject);
var
  i, j: Integer;
begin
  i:= 5;
  j:= 3;
  My(i, j);
  //i=11;
  //j=9
end;
procedure TForm1.My(var x,z: Integer);
var
  y: integer;
begin
  y:= 10;
  x:= y + 1; //x=11
  z:= y - 1; //y=9
end;
改变了I,j的原值。这种应用的典型例子是交换两个变量的值,swap(x, y),运行后x和y的值就互换了。

常量,在参数前加上const,这可以保护参数的值。
procedure TForm1.My(const x: Integer);
begin
  x:= 15; //编译器报错,无法执行程序
end;


评分

参与人数 1鱼币 +4 收起 理由
小甲鱼 + 4

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-1 16:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表