有时候我们在文本框里写了’1+1‘,怎么能让他变成公式计算出结果?我提供2种方案供大家参考
一、
function Cal(expStr:string):string;
var
js: OleVariant;
begin
js := CreateOleObject('ScriptControl');
js.Language := 'JavaScript';
Result := js.Eval(expStr);
js := Unassigned;
end;
---------------------------------
function InputText(expStr:string):Real;
var
vTmp:string;
begin
try
vTmp:=Cal(expStr);
if vTmp='NAN' then //说明公式有错
Result:=-1
else
Result:=StrToFloat(vTmp);//将字符串转换成数字
except
Result:=-1;
end;
end;
二、
写SQL语句,具体的程序语句我就不写了
DECLARE @sql NVARCHAR(1000)
SET @sql='select Result='+'1+1+3*5'
EXEC (@sql)