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 := Evaluate('(1&((1|0)|1)&1)');
ところで..式を完全に作り直して、 &|.. の代わりに and/or を使用することができます.