以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 这样用就不行,我改怎么弄? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=61154) |
-- 作者:heying325 -- 发布时间:2014/12/8 9:46:00 -- 这样用就不行,我改怎么弄? Dim i As Double = 9+Math.Ceiling(0.70-1.2)*3 这句代码执行没有为题。。。。 可是: Dim s As String = "9+Math.Ceiling(0.70-1.2)*3" Dim i As Double = Eval(s) 就跳出 缺少对象: \'Math\' 错误! 请问我想用第二种方法 改怎么改?
|
-- 作者:有点甜 -- 发布时间:2014/12/8 9:49:00 -- Eval只能做四则运算,不能执行代码 |
-- 作者:有点甜 -- 发布时间:2014/12/8 9:50:00 -- 如果要用,就要动态编译代码
http://www.foxtable.com/help/topics/1487.htm
|
-- 作者:heying325 -- 发布时间:2014/12/8 10:55:00 -- Dim str As String str = "Dim Sum1 As double = 19+Math.Ceiling(0.70-1.2)*3" & vbcrlf str = str & "Return Sum1" Functions.Add("Sum1",str) Dim i As Double = Functions.Execute("Sum1") Functions.Remove("Sum1") MessageBox.Show(i) 请问这段代码执行后,出现 “找不到自定义函数SUM1” 。。。。求解!
|
-- 作者:有点甜 -- 发布时间:2014/12/8 11:00:00 -- Dim str As String str = "Dim Sum1 As double = 19+Math.Ceiling(0.70-1.2)*3" & vbcrlf str = str & "Return Sum1" Functions.Add("Sum",str) Functions.Complie() Dim i As Double = Functions.Execute("Sum") Functions.Remove("Sum") MessageBox.Show(i) |