我正在寻找一个在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;
发布于 2012-04-13 19:47:34
Native Delphi module由Anton Grigoriev绘制数学表达式。助理程序-俄语。This is how it looks。
关于信用的补充:模块是免费的。作者只要求提到(AboutBox等),数学表达式是通过ExprDraw和ExprMake模块绘制的,由Anton Grigoriev编写(原始翻译自readme.txt)
发布于 2012-04-13 19:15:52
我不知道有没有原生的Delphi实现,但也许这个问题对你有帮助:How to render a formula in WPF or WinForms。它提到了一些可能被翻译或用作DLL的C/C#解决方案(参见OP的解决方案)。
另一种选择可能是这个Formulator ActiveX Control。
此外,如果您使用其他搜索条件,尤其是不使用"Delphi“关键字,则可能会扩大搜索结果。;-)
renderer, formula, math, MathML, expression, engine, tex, ...
正如我们可以从MBo's answer学到的那样,用其他语言进行搜索也是一个好主意:-)
delphi математических формул рисования
我肯定你搜索过类似的东西,但可能有一个关键词你已经忘记了。
发布于 2013-03-01 19:21:33
我寻找类似的组件已经有一段时间了,MBo的解决方案是可以接受的。
我相信这也可以通过另一种方式来实现:嵌入TWebBrowser,并为LaTex和MathML公式使用exixting javascript渲染器,但是...
我刚刚尝试过,我认为这是一个更好的解决方案!
⟪Delphi组件公式编辑器,允许您输入和显示任何复杂的数学公式,从简单的希腊符号到矩阵和复杂的整数表达式。您可以在Delphi环境中编写的项目中使用公式编辑器,例如,在测试不同数学领域(数学分析、离散数学、概率论等)、物理和其他领域知识的程序中。
在其中输入公式非常容易:
的附加菜单⟫输入特殊符号和公式元素
它更好,因为你可以在一个额外的按钮菜单组件和/或使用数学表达式字符串和/或使用预定义的方法的帮助下,直接在“文本字段”组件中编辑公式。
希望它能帮上忙!
https://stackoverflow.com/questions/10137105
复制相似问题