Delphi,评估公式字符串

时间:2009-08-25 06:08:02

标签: algorithm delphi math parsing formula

复制

  

我需要Delphi中的程序从Edit1获得一个变量方程,例如"F(x)=4*X+2*log(x)+4*power(X,2)"
,并从Edit2获取X值变量,然后在Edit3中显示结果F(X)。请帮帮我。

感谢。

5 个答案:

答案 0 :(得分:4)

您可能需要查看此组件 - TbcParser。

http://www.bestcode.com/html/tbcparser.html

此组件包含源代码。

答案 1 :(得分:4)

您还可以查看文件JCL中的表达式评估程序附带的JclExprEval.pas。它是免费和开源的。

答案 2 :(得分:1)

看看

http://www.efg2.com/Lab/Library/Delphi/MathFunctions/Parsers.htm

此外,如果安装了JEDI和/或FastReport库,则可以使用其解析器。我们使用来自http://cc.embarcadero.com/item/15974的TParser10,如果不是 最快的话,它是最快的。它是免费软件,完美地工作到D2007。我听说它在D2009也有效。虽然没有测试过。

答案 3 :(得分:0)

如果您想编写自己的实现而不使用现成的库,这将花费您一些时间。只需搜索“公式解析器”。我将从一个tokenizer开始,然后从标记构建一个解析树。

答案 4 :(得分:-1)

强烈地在您的小数点分隔符上停止。使用StrToFloat或nephi版本的Delphi - TryStrToFloat。