请大家给个思路,我在edit中输入数学公式,如何使其执行。迫切等待!!(100分)

  • 主题发起人 主题发起人 cqll
  • 开始时间 开始时间
C

cqll

Unregistered / Unconfirmed
GUEST, unregistred user!
我在edit控件中输入数学公式1*2*3,然后点击按钮后由系统执行并返回结果。
 
看你公式的格式了
就上面的格式马
 
可能还要开方运算,sin,cos等。我是不是需要写一个公式解析器之类的东西,要是那样就麻烦了。
 
公式解析器肯定要有,你可以到网上找一个。
 
简单讲一下,大概网上常用的有那些洒,谢谢!!
 
这个东西如果想实现,必须利用“公式解析器”!就算是自己用代码写,跟那种效果差不多的!~~~~~~

 
如果是自己写的话能否给个思路。
 
其實就是做一個解析器,把你的運算符在delphi中轉變為delphi明白的運算過程..就像腳本語言一樣....
 
以前有的,就是用SQL语句写的,你在上面找找看
 
取巧的办法:当成SQL语句发送到数据库执行一下
 
可以参考数据结构中的表达式计算!
 
是有这个控件的,很早以前我见过的,至于在那里,已经不记得了。
好象做的很象windows计算器,外观就象combobox,运行以后点下拉表
弹出一个计算器,直接输入公式也能用。
 
uses ComObj;
procedure TForm1.Button1Click(Sender: TObject);
function ExpressCalc(exp: string): real;
var co: Variant;
begin
Co := CreateOleObject('ScriptControl');
co.Language := 'VBScript';
Result := co.Eval(exp);
end;
begin
Edit1.Text:=Format('%f',[ExpressCalc(Edit1.Text)]);
end;
 
我做过一个,也不算复杂
 
后退
顶部