读书人

关于跃出过程

发布时间: 2013-01-11 11:57:35 作者: rapoo

关于跳出过程
比如现在有个过程a
begin
..语句1
exit;
..语句2
end;

下面有个过程b
begin
..语句11
a;
……语句12
end;

现在是我在b中调用了a,执行语句11,然后如果a执行完语句1跳出了a过程,那么我想让b过程也跳出不再执行下面的语句12,要如何做到
[解决办法]
把a改成function,在b里检查a的返回值。
[解决办法]
楼上说得没错:

...
function a: boolean;
begin
Result:=true;
...语句1
exit;
...语句2
Result:=false;
end;

procedure b;
begin
...语句11
if a then exit;
...语句12
end;
...

还可以使用全局变量来标识(但有朋友批评过我:变量以全局为耻,自己掂量吧):

...
implementation
{$R *.dfm}
var aExit;

procedure a: boolean;
begin
...语句1
exit;
...语句2
aExit:=false;
end;

procedure b;
begin
...语句11
aExit:=true;
a;
if aExit then exit;
...语句12
end;
...

[解决办法]
function a:boolean;
beign
result:=false;
..语句1
exit;
..语句2
result:=true;
end;

procdure b;
beign
...语句11
if a then
...语句12
end;

读书人网 >.NET

热点推荐