我想技术某个表达式的值,如在编辑框中输入类似这样的字符串(Data[3]-Data[2]) /Data[2] 点一下计算按钮,要计算出对应的数值。  其中Data数值是一个数组,在Formcreate时已经加载。
    听说可以用PSScript实现,但下载后不会用这个。

解决方案 »

  1.   

    用mssript吧,然后eval就可以计算了哈。
      

  2.   

    用mssript,要传入参数是不行的啊。我里面的值不是常数。
      

  3.   

    TScriptControl的AddObject方法也应该可以
      

  4.   

    Delphi盒子上有现成的算式控件吧
    俺以前也有弄过一个,代码N多,等先晚上回去找给你
      

  5.   

    uses
      comobj;procedure TForm1.Button1Click(Sender: TObject);
      procedure calc(expression: string);
      var
        vScriptControl: OLEVariant;
      begin
        try
          vScriptControl:= CreateOleObject('MSScriptControl.ScriptControl');
          vScriptControl.Language:= 'VBScript';
          ShowMessage(vScriptControl.Eval(expression));
        except
          on e:exception do
            showmessage(e.message);
        end;
      end;
    begin
      calc('(1+1)/1');
    end;