求表达式计算 ( 积分: 100 )

  • 主题发起人 主题发起人 sunjialong
  • 开始时间 开始时间
S

sunjialong

Unregistered / Unconfirmed
GUEST, unregistred user!
哪里有基本的表达式计算 四则 乘方 开方 支持变量更好
 
哪里有基本的表达式计算 四则 乘方 开方 支持变量更好
 
简单方法1:
用ADOquery控件,设置好ConnectionString
adoquery1.SQL:='select 2+4-(3*4/2) as aa';
adoquery1.open;
n:=adoquery1.fieldbyname('aa').asinteger ;// 就是表达式的结果
adoquery1.close;
//
FastReport中,也有类似的函数,
//
自己写代码,用调用递归函数,去'()';先乘除,后加减
 
TParser控件
 
TParser控件
 
procedure TForm1.Button1Click(Sender: TObject);
var
Par: TfrParser;
begin
Par := TfrParser.Create;
try
Edit2.Text := Par.Calc(edit1.Text)
Par.Free;
except
Par.Free;
ShowMessage('公式错误 !');
end;
end;
 
用windows自己的
TScriptControl
import activex control->
microsoft script control
 
http://www.delphibbs.com/delphibbs/dispq.asp?lid=2756761

能满足楼主的大部分要求,但绝难支持变量。 :(
 
接受答案了.
 
后退
顶部