冬雪雪冬 发表于 2017-8-15 16:45:41

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

本课讲过程的参数,参数分为传值变量和传址变量,还有常数参数。传值占用多一倍的空间,但不会对原参数修改,这种方式运用最多;传址会因过程内改变参数的值而改变,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;


传址:需在变量名前加上varprocedure 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]
查看完整版本: 浅谈Delphi过程与函数02 - 零基础入门学习Delphi021