我需要一个Delphi程序,从Edit1获取一个变量方程,例如
"F(x)=4*X+2*log(x)+4*power(X,2)"
您还可以查看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。