复制
我需要一个 Delphi 程序,从 Edit1 获取一个变量方程,例如 "F(x)=4*X+2*log(x)+4*power(X,2)"
从 Edit2 获取 X 值变量,然后在 Edit3 中显示结果 F(X)。请帮我。
谢谢。
我需要一个 Delphi 程序,从 Edit1 获取一个变量方程,例如 "F(x)=4*X+2*log(x)+4*power(X,2)"
从 Edit2 获取 X 值变量,然后在 Edit3 中显示结果 F(X)。请帮我。
谢谢。
您还可以查看JCL ,它在文件JclExprEval.pas中带有一个表达式评估器。它是免费和开源的。
看一下
http://www.efg2.com/Lab/Library/Delphi/MathFunctions/Parsers.htm
此外,如果您安装了 JEDI 和/或 FastReport 库,您可以使用它们的解析器。我们使用来自http://cc.embarcadero.com/item/15974的TParser10,如果不是最快的话,它也是最快的可用之一。它是免费软件,可以完美运行到 D2007。我听说它也适用于 D2009。虽然还没有测试。
如果您想编写自己的实现而不使用现成的库,这将花费您一些时间。只需搜索“公式解析器”。我将从标记器开始,然后从标记构建解析树。
它强烈依赖于您的小数分隔符。使用 StrToFloat 或在 Delphi 的新版本中 - TryStrToFloat。