比如:
var
  Fb_a: Boolean;
  Fs_b: string;
begin
  Fs_b ;= '1+1=2';
  Fb_a := ???;//Fs_b
end;

解决方案 »

  1.   

    这不是做表达式求值吗,需要要一些算法的支持,不能简单用Boolean来转换的
      

  2.   

    if fs_b then
       fs_a:=true
    else 
       fs_a:=false;
      

  3.   

    Fs_b是字符串类型不能写if Fs_b then
      

  4.   

    strtobool('false')
    不好意思,上面好象不对,hehe
      

  5.   

    StrToBool是不行的,因为是表达式求值
      

  6.   

    uses ComObj;procedure TForm1.Button1Click(Sender: TObject);
    var
      vScriptControl: OleVariant;
    begin
      vScriptControl := CreateOleObject('MSScriptControl.ScriptControl');
      vScriptControl.Language := 'VBScript';
      Caption := vScriptControl.Eval('1+1=2');
    end;
      

  7.   

    楼上的果然厉害,不愧是星星多。问一句,'MSScriptControl.ScriptControl' 用的是什么? 我只知道AUTOCAD和WORD的  :( 没见过这个。
      

  8.   

    if 1+1 =2 THEN 
       fs_a:=true
    else
       fs_a:=false;
      

  9.   

    如果Fs_b := '(pos(''897'', DataSet.FieldByName(''liber_id'').AsString)=0)';