在 Delphi XE 中,我有一个例程可以将一些复杂的公式分解为二进制公式结果,如下所示:
(1&((1|0)|1)&1)
由于我的应用程序在 SQL Server 上,我可以轻松地执行 SELECT (1&((1|0)|1)&1) As Result,SQL Server 将评估逻辑以给我 1 或 0 结果。
我似乎无法找到一种原生的 Delphi 方法来获取二进制公式的字符串表示并对其进行评估。
我查看了添加到 XE 中的 Live Bindings Evaluators,但是任何对 and/or 运算符的尝试都会引发解析器错误,所以我相信这更像是一个数学过程。
我还查看了一些解析器,但似乎没有一个真的对我跳出来。
那么我该如何做类似的事情:
iSomeInt := 评估('(1&((1|0)|1)&1)');
顺便说一句..我可以完全修改公式并使用和/或代替 &|.. 这只是为了使它与 SQL Server 一起工作。