Delphi组件或库来显示数学表达式

Sve*_*sli 18 delphi math

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

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

更新:

我不是在谈论绘制函数图或类似的东西.我想显示(例如)

(X ^ 2 + 3)/ X

像这样:

在此输入图像描述

解:

MBo的答案正是我所寻找的.有些人可能因为所有评论和文件都是俄文而被推迟,但不要让这吓到你.它真的很容易使用.

安装:将文件(至少"ExprMake.pas"和"ExprDraw.pas")解压缩到库路径中的目录.而已.

使用:我没有对它进行过广泛的实验,但这些几行表明它是多么容易.

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;
Run Code Online (Sandbox Code Playgroud)

MBo*_*MBo 15

本土德尔福模块由安东格里戈里耶夫绘制数学表达式.助理计划 - 俄语.这是它的外观.

关于学分的补充:模块是免费的.作者要求提及(AboutBox等)数学表达式是通过ExprDraw和ExprMake模块绘制的,由Anton Grigoriev编写 (readme.txt的原始翻译)