以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]如何实现以下功能  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=67559)

--  作者:tongliaozyr
--  发布时间:2015/4/26 16:31:00
--  [求助]如何实现以下功能

[求助]如何实现以下功能:

 

 

Dim a As Integer = 1
Dim b As Integer = 1
Dim c As Integer

Dim gs =  a + b 

c = Eval(gs)        

Output.Show (c) 

 

 

再次求助,下面的代码不能计算,是什么原因?

 

 

Dim r As Row = Tables("表A").rows(0)
Dim a As Integer = 1
Dim b As Integer = 1
Dim c As Integer

Dim gs = r("第四列")     ‘单元格内容为 " a + b "   

c = Eval(gs)       

Output.Show (c)

 

 

 

 

 

[此贴子已经被作者于2015/4/26 21:18:17编辑过]

--  作者:瞩望星空
--  发布时间:2015/4/26 17:08:00
--  
应该说“ c = a + b ”是个表达式,Output.Show (c)会自动计算出结果。
--  作者:jiangyong
--  发布时间:2015/4/26 17:15:00
--  
 

普通用户请忽略本节内容。
Foxtable提供了一个Eval函数,用于自定义表达式求值。
需要注意的是,这个表达式是一个独立的系统,和我们之前用于列计算和筛选的表达式完全不同,这里的表达式采用VBScript语法。

语法


Dim s As String = "1 + 2 + 3"
Output.Show(Eval(s))

输出结果为:6



--  作者:tongliaozyr
--  发布时间:2015/4/26 17:44:00
--  

谢谢楼上回答。

 

我可能没有表述清楚

 

 

Dim gs As String = " c = a + b "

Dim a As Integer = 1
Dim b As Integer = 1
Dim c As Integer
c = a + b    问如果 “ c = a + b ” 是一个字符串,如何转换为计算公式

                  也就是如何让  字符串“gs”  转换为计算公式 并计算出结果哪
Output.Show (c)  = Output.Show (??gs??


--  作者:tongliaozyr
--  发布时间:2015/4/26 18:00:00
--  

Dim a As Integer = 1
Dim b As Integer = 1
Dim c As Integer
Dim gs  =  a + b 

c = a + b   \' 问如果 " c = a + b " 是一个字符串,如何转换为计算公式
Output.Show (c)
Output.Show (Eval(gs))


--  作者:tongliaozyr
--  发布时间:2015/4/26 18:02:00
--  

Dim a As Integer = 1
Dim b As Integer = 1
Dim c As Integer

Dim gs =  a + b

c = Eval(gs)        

Output.Show (c) 

 

可以了

[此贴子已经被作者于2015/4/26 18:02:48编辑过]