我正在寻找一个在 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;