gpt4 book ai didi

DELPHI:如何在循环或案例之外使用 "break"?

转载 作者:行者123 更新时间:2023-12-03 15:37:09 25 4
gpt4 key购买 nike

考虑以下 delphi pascal 代码:

var
tc: TComponent
begin
{ do something to get tc }
repeat
if(tc is TDBEdit)then begin
if(check_something_about_edit(tc))then break;
do_something_else_edit(tc);
break;
end else if(tc is TBMemo) then begin
if(check_something_about_memo(tc))then break;
do_something_else_memo(tc);
break;
end;
raise exception.create('invalid component type');
until(true); {single iteration look required to use break }

我知道我可以用 TComponent 做一些多态的事情,但这不是我的问题。我想知道是否有办法摆脱单次迭代重复直到语句。如果没有它,我就无法在处理 block 中的任何位置使用break语句,并且我需要它随时停止处理。

最佳答案

还有另一种简单的方法:

if(tc is TDBEdit)then begin
if not (check_something_about_edit(tc)) then
do_something_else_edit(tc);
end else if(tc is TBMemo) then begin
if not (check_something_about_memo(tc)) then
do_something_else_memo(tc);
end else
raise exception.create('invalid component type');
end;

关于DELPHI:如何在循环或案例之外使用 "break"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1201260/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com