找本pascal的教材看看啊。
procedure Hello(Who: ShortString);
begin
ShowMessage(Who + ', 祝你好运。');
end;
begin
Hello('xinfei');
end;
procedure Hello(Who: ShortString);
begin
ShowMessage(Who + ', 祝你好运。');
end;
begin
Hello('xinfei');
end;
调试欢乐多
function FLength(S: string): Integer;begin
Result := Length(S);
end;
function DoubleByValue(X: Integer): Integer; // X 是个值parameterbegin
X := X * 2;
Result := X;
end;
参数 引用
function DoubleByRef(var X: Integer): Integer; // X 是个变量parameterbegin
X := X * 2;
Result := X;
end;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;我想自己定义一个过程,该怎样写。 另外一些形参和实际参数该怎样分别。 举个例子 要不然我不会明白的。哈哈。刚刚入门
1)在单元文件的Type区内申明过程如:
procedure NumString(N:integer;var S:string);{沈明两个参数的numstring 过程,带var表示该参数在调用过程中允许变化,不带表示过程调用后仍保持原有值}
2)申明过程后,在Implementation区定义该过程的过程区块:
procedure NumString(N:integer;var S:string);
var
v:integer;
begin
v:=abs(N);
S:='';
repeat
S:=Chr(N MOD 10 + Ord('0'))+S;
N:=N DIV 10;
until N=0;
if N<0 then
S:='-'+S;
end;
3)过程调用:
过程申明和定义以后,就可以在程序中调用了,调用形式如下:
NumString(306,str);{过程名(<实参>)}
————————————————————————————————
函数定义和调用和过程类似,不同的是以function开头,并有返回结果的类型说明.还是举例吧:
申明一个函数并调用函数求 sin(2)+cos(4) 的值。
1) 声明函数:
function Afun(x,y:Extended):Extended;
2) 定义函数区块:
function Afun(x,y:Extended):Extended;
begin
result:=sin(x)+cos(y);{Afun:=sin(x)+cos(y)也可}
end;
3) 调用函数
完成题目要求定义变量 f
f:=Afun(2,4);
得到值。
——————————————————————————————————
不知说清楚没有。
何谓形参:
F(x)中x为形参
何谓实参:
调用F后:
F(5)中5为实参
var
Form1: TForm1;
xin:string;
implementation
另外 我看见很多的过程是这样的
procedure xin;
begin
end;
这样就不用传递任何参数是吗?
begin
end;
如果是这样定义的。那调用直接就可以用
begin
xin;
end; 就可以了吗? 另外为什么不用在单元文件的Type区内申明过程
只要把过程写在implementation 下面,也可以用。
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm1 = class(TForm)
Button1: TButton;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}
procedure xin;
begin
form1.label1.caption:='awfi'; //这里为什么前面要加上form1.不加就出错
end;procedure TForm1.Button1Click(Sender: TObject);
begin
xin;
end;end.我这段代码,在type 区没有定义,为什么也可以引用