-
DmitriyG. © (04.05.08 18:30) [0]Подскажите как вычислить значение строкового выражения (типа '1+2*3') через функцию eval()? Давно где то видел пример вычисления через IHTMLDocument2, но что то найти не смог...
А получалось очень просто и быстро :-) -
Как-нибудь так?WebBrowser1.Navigate('about:<script>alert(eval(''1+2*3''));</script>');
-
Loginov Dmitry © (04.05.08 21:48) [2]> Давно где то видел пример вычисления через IHTMLDocument2
А HTMLDocument принципиально? Могу предложить альтернативный подход:
1. Делаешь Inport Type Library для Microsoft Script Control
2. Подключаешь модуль MSScriptControl_TLB
3. Вставляешь код:
procedure TForm1.Button1Click(Sender: TObject);
var
SC: TScriptControl;
begin
SC := TScriptControl.Create (Self);
try
SC.Language:='VBScript';
Label1.Caption := SC.Eval(Edit1.Text);
finally
SC.Free;
end;
end;