有没有办法删除语句中的部分条件IF
这取决于我是否需要它。下一个代码是示例,因为在我的代码中,我的语言中有很多用户定义的函数和过程:
IF A THEN
Q := TQuery.Create(Application);
IF B AND C AND D AND E AND Q.FieldByName('Example').AsInteger = 1 then
BEGIN
...
END
因此,假设在创建TQuery
后,我已经将一些数据导入其中(我没有在这里编写那部分代码)。如果没有创建Q
(因为条件 A 不满足),有没有办法在第二个IF
语句中删除带有Q
的部分,还是我必须在没有Q
部分的情况下再次扭动整个IF
语句?
我在想使用类似CASE
的东西来检查是否创建了Q
,如果没有,只是跳过句子的那部分。如果可能,我怎么能跳过它?
快速而肮脏的方式
IF B AND C AND D AND E AND (NOT A OR Q.FieldByName('Example').AsInteger = 1) then
请注意,尽量保持 if 条件更简单。
EvaluationRequested := A AND C ...
QueryNeedsAval := NOT A OR ...
if EvaluationRequested AND QueryNeedsAval then
begin
...
end;