有没有办法删除 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
是否已创建,如果没有,则跳过这部分句子。如果可以的话,我该如何跳过它?
最佳答案
快速而肮脏的方式
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;
关于delphi - 在某些情况下删除部分条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47674369/