求自定公式的算法编写? 常量有:长,宽,高,+,-,*,/,(,)及数字。通过自由组合组成公式,并合法。几算出结果。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 procedure TForm1.Button1Click(Sender: TObject);var OleScript : OLEVariant;begin OleScript := CreateOLEObject('MSScriptControl.ScriptControl'); OleScript.Language := 'VBScript'; OleScript.AddCode('Dim Length,Heigh,Width'); OleScript.AddCode('Length=2'); OleScript.AddCode('Heigh=3'); OleScript.AddCode('Width=4'); OleScript.ExecuteStatement('MsgBox Length*Heigh*Width'); OleScript := Unassigned;end; S := '1*100-19/10 * 100 + (1+2)/5';var AQ : TAdoQuery.... AQ.SQL.Text := 'Select '+S+' As Resu'; Try AQ.Open; Result := AQ.FieldByName('Resu').AsFloat;..... 回复人: ljyt(罗云) ( ) 信誉:94 2005-09-17 22:40:00 得分: 0 楼上的做法有问题,比如:19/10是=1,而不是1.9。要等于1.9就得是19.0/10 没错,C里面才会出现这种情况,VB中是可以的 用ADO来作纯粹是为了低级的简单的四则混合计算,如果要作详细的计算,引用对象,调用API,调用OLE,甚至作报表,作二次开发,请看http://www.1284.net/ ocx组件如何指定固定的classid(改classid) fastreport 如何使用Epson针式打印机硬字库 大家帮忙啊,郁闷死我了!! 有关文件类型的问题 谁能告诉我var()这个函数的参数说明和这个函数的作用? 如何dbgrideh不响应delete健, 有没有什么方便的建立数据字典的办法 一个关于报表控件画表格线的问题 明华读卡器的动态库MWIC_32.dll的DES加密问题 字体对齐方式怎么设置? 如何在form.create事件后,自动执行一个任务? 请教一个表较麻烦的界面的问题 !
var
OleScript : OLEVariant;
begin
OleScript := CreateOLEObject('MSScriptControl.ScriptControl');
OleScript.Language := 'VBScript';
OleScript.AddCode('Dim Length,Heigh,Width');
OleScript.AddCode('Length=2');
OleScript.AddCode('Heigh=3');
OleScript.AddCode('Width=4');
OleScript.ExecuteStatement('MsgBox Length*Heigh*Width');
OleScript := Unassigned;
end;
AQ : TAdoQuery
....
AQ.SQL.Text := 'Select '+S+' As Resu';
Try
AQ.Open;
Result := AQ.FieldByName('Resu').AsFloat;
.....
楼上的做法有问题,比如:19/10是=1,而不是1.9。要等于1.9就得是19.0/10
没错,C里面才会出现这种情况,VB中是可以的