我正在使用Delphi 2007,并想知道以下内容是否可行,如果不行,那么在另一个版本的Delphi中是否可行。
我目前的代码类似于,但我希望有类似于的东西。
我已经创建了并且它可以工作,但我更喜欢将函数放在一个地方而不是许多地方作为子过程。
我目前的代码类似于,但我希望有类似于的东西。
我已经创建了并且它可以工作,但我更喜欢将函数放在一个地方而不是许多地方作为子过程。
function foo(const bar: Word): boolean;
begin
Result:= bar = 42;
end;
function doo1: integer;
begin
if not foo(42) then begin
Result:= 1;
exit;
end;
if not foo(8) then begin
Result:= 2;
exit;
end;
Result:= 0;
end;
function doo2: integer;
Procedure exitIfFalse(const AResult: boolean; const AResultCode: integer);
begin
if not AResult then begin
Result:= AResultCode;
Abort;
end;
end;
begin
Result:= -1;
try
exitIfFalse(foo(42), 1);
exitIfFalse(foo(8), 2);
Result:= 0;
except
on e: EAbort do begin
end;
end;
end;
function doo3: integer;
begin
exitIfFalse(foo(42), 1);
exitIfFalse(foo(8), 2);
Result:= 0;
end;