原文地址:https://blogs.embarcadero.com/using-delphis-expressions-engine/
Delphi RTL包含一个非常强大的表达式引擎,它虽然是Live Bindings体系结构的基础之一,但是可以用来处理表达式的单独引擎,本文对此将做入门介绍。
Delphi RTL中有许多隐藏的宝贝,表达式引擎就是其中之一。最近,我与一位老Delphi开发人员在交流过程中,发现他正在寻找类似的功能,这说明他没意识到该功能已存在于RTL中很多年了。记得我写过一些文档,马上去找,还真找到了。对于这个主题,实际上是非常复杂的,我无法完整介绍它,但是对于简单的场景,实际上只需要很少的代码就能解析和处理表达式。
在我们开始讨论这个主题之前,还是提一下Delphi 10.4.2新的VCL NumberBox组件填加的功能(参见 https://blog.marcocantu.com/blog/2021-february -new-vcl-controls-1042.html)。该组件允许最终用户输入表达式并将其替换为结果值。毫不奇怪,它使用了现有的表达式引擎,并且通过调用简化的class方法来做到这一点。
var
LExpression: TBindingExpression;
begin
L

1万+

被折叠的 条评论
为什么被折叠?



