鱼C论坛

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

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

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

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

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

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


传址:需在变量名前加上var
  1. procedure TForm1.Label1Click(Sender: TObject);
  2. var
  3.   i, j: Integer;
  4. begin
  5.   i:= 5;
  6.   j:= 3;
  7.   My(i, j);
  8.   //i=11;
  9.   //j=9
  10. end;
  11. procedure TForm1.My(var x,z: Integer);
  12. var
  13.   y: integer;
  14. begin
  15.   y:= 10;
  16.   x:= y + 1; //x=11
  17.   z:= y - 1; //y=9
  18. end;
复制代码

改变了I,j的原值。这种应用的典型例子是交换两个变量的值,swap(x, y),运行后x和y的值就互换了。

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



评分

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

查看全部评分

本帖被以下淘专辑推荐:

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 23:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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