根据我是否需要,有没有办法删除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
部分只有没有IF
部分的整个Q
声明?
我正在考虑使用类似CASE
的内容来检查Q
是否已创建,如果不是,则跳过该部分句子。如果有可能,我该如何跳过它?
答案 0 :(得分:4)
快速而肮脏的方式
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;