用于显示数学表达式的Delphi组件或库

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (20)

我正在寻找一个在Delphi中显示数学表达式的简单组件。当我开始工作的时候,我觉得在网上很容易找到一些东西,但事实证明,它比预期的要难得多。有很多很多的组件解析数学表达式,但很少(没有?)显示它们。

理想情况下,我想要一个像TLabel这样简单的组件,在这里我可以将标题设置为某个表达式,并且它将被正确显示,但是让我将表达式绘制到画布上的某种库也足以满足我的需要。

最新情况:

我不是说绘制函数的图表之类的。我想显示(例如)

(X^2+3)/X

就像这样:

解决办法:

MBO的回答正是我想要的。有些人可能会因为所有的评论和文件都是俄文的事实而被推迟,但不要让这吓到你。它真的很容易使用。

安装:将文件(至少是“ExprMake.pa”和“ExprDraw.pa”)解压缩到库路径中的一个目录中。就这样。

用法:我还没有对它进行过广泛的实验,但这几行说明了它是多么容易。

procedure TForm1.Button1Click(Sender: TObject);
var
  vExprC : TExprClass;
  vExprB : TExprBuilder;
begin
  vExprB := TExprBuilder.Create;
  try
    vExprC := vExprB.BuildExpr('(X^2+3)/X');
    vExprC.Canvas := Canvas;
    vExprC.Font.Size := 50;
    vExprC.Draw(10,10,ehLeft,evTop);
  finally
    vExprC.Free;
    vExprB.Free;
  end;
end;
提问于
用户回答回答于

作者:Anton Grigoriev,用于绘制数学表达式。助理节目-俄语。

附加学分:模块是免费的。作者只要求提到(AboutBox等),数学表达式是用Anton Grigoriev编写的ExprDraw和ExprMake模块绘制的。(README.txt原文)

用户回答回答于

我不知道一个原生的Delphi实现,但也许这个问题对您有帮助:https://stackoverflow.com/q/8899204/256544.它提到了一些C/C#解决方案,这些解决方案可能被翻译成或用作DLL(参见OP的解决方案)。

此外,如果您使用其他搜索条件,特别是没有“Delphi”关键字时,它可能会扩展您的搜索结果。

renderer, formula, math, MathML, expression, engine, tex, ...

我们可以用其他语言搜索也是个好主意:

delphi математических формул рисования 

我肯定你在搜索类似的东西,但可能有一个关键字你已经忘记了。

扫码关注云+社区