请问 delphi 能 不能 执行 字符串 表达式 ??????????
例如 下面有一行字符串: 2+3 +(  length('aa') *2)
能不能 执行这个表达式 ,返回 结果 :  9 
就象 javascript 的  eval 函数一样

解决方案 »

  1.   

    Edit1.Text:=IntToStr(2+3 +(length('aa')*2));
    替你试过了,
    文本框里显示的是9可以这样的
      

  2.   

    如果是2+3 +(length('aa')*2))可以
    如果是'2+3 +(length('aa')*2))'不行
    字符串不能被当作语句执行的,否则我写
    void c(void)
    {
    printf("**************");
    }
    也行吗???
      

  3.   

    抄别人的,试一下:
    uses ComObj;function Calculate(Expression: string): string;
    var
      vScript: Variant;
    begin
      vScript := CreateOleObject('ScriptControl');
      vScript.Language := 'JavaScript';
      Result := vScript.Eval(Expression);
    end;