首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

关于跃出过程

2013-01-11 
关于跳出过程比如现在有个过程abegin..语句1exit..语句2end;下面有个过程bbegin..语句11a……语句12end现

关于跳出过程
比如现在有个过程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;

热点排行