以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]Eval问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=86611)

--  作者:tongliaozyr
--  发布时间:2016/6/21 18:45:00
--  [求助]Eval问题
[求助]Eval问题

Dim n As Integer = 7
Dim  s As  String = "1 + n + 3"
s = s.
 Output.Show(Eval(s))

结果为什么是"4",而不是"11"。

有没有什么方法让它计算" 1 + 7 + 3 " 哪,
也就是将  b  换成了"7"。

--  作者:shenyl0211
--  发布时间:2016/6/21 21:27:00
--  
S是字符串string “1+n+7”,而不是数值integer 1+n+3,去掉引号就知道了
--  作者:wyz20130512
--  发布时间:2016/6/21 21:34:00
--  
Dim n As Integer = 7
Dim  s As  String = "1 +" & n & " + 3"
Output.Show(Eval(s))

--  作者:大红袍
--  发布时间:2016/6/21 21:56:00
--  
Dim n As Integer = 7
Dim s As  String = "1 + n + 3"
s = s.replace("n", n)
Output.Show(Eval(s))

--  作者:大红袍
--  发布时间:2016/6/21 21:56:00
--  

方法二

 

Functions.remove("函数")
Dim Code As String
Code = "msgbox(123) \'你要执行的代码"
Functions.Add("函数",Code)
Functions.Complie()
Functions.Execute("函数")


--  作者:tongliaozyr
--  发布时间:2016/6/22 7:34:00
--  
谢谢!