delphi - 在某些情况下删除部分条件

标签 delphi if-statement delphi-2006

有没有办法删除 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/

相关文章:

delphi - Delphi 中 TDataSetProvider 所需的信息

delphi - 是否可以控制 JvDockServer 组件中选项卡的显示方式?

delphi - 如何创建只读属性?

delphi - 访问 Delphi 类的严格保护属性?

php - if else if 条件不能正常工作

python - Pandas 数据框和附加对象转换为 JSON

delphi - Proxifier 是如何工作的?

C 中嵌套 for 循环中的条件不起作用

delphi - 为什么TForm的_release不调用析构函数?

delphi - Delphi中的宽字符串兼容性问题