以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  关于vars变量名  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=158980)

--  作者:hb8888
--  发布时间:2020/12/9 9:50:00
--  关于vars变量名
大师:请问定义vars变量名时,命名有何限制?为何带双引号的名称,代码中运行可以,而在命令窗口执行不行?如vars("a"-"b"),红色部分为双引号。因为动态定义时有时有这种情况?
--  作者:有点蓝
--  发布时间:2020/12/9 9:58:00
--  
http://www.foxtable.com/webhelp/topics/0211.htm
--  作者:hb8888
--  发布时间:2020/12/9 10:13:00
--  
不是这个意思,比如:vars.add(" 信用减值损失(损失以“-”号填列)" ,GetType(Boolean))       命令窗口显示有此变量,代码运行也能赋值,但在命令窗口中调用就出错?
--  作者:有点蓝
--  发布时间:2020/12/9 10:27:00
--  
就是2楼问题,请认真看帮助,看完
--  作者:hb8888
--  发布时间:2020/12/9 11:41:00
--  
怎么死活不明白呢?
我是说,在命令窗口中,读取带双引号的vars变量时就出错,而不在命令窗口中,在代码中就不错。
比如:动态定义时这样写,第一列中的字符含有双引号
for each tr as datarow in datatables("表a")
vars.add(tr("第一列"),GetType(double))
next

赋值:
for each tr as datarow in datatables("表b")
vars(tr("第一列")) = tr("第二列")
next

写入:
for each tr as datarow in datatables("表c")
tr("第三列") = vars(tr(“第一列”))
next

这样写,运行时没有问题

而在命令窗口查看vars变量的值时,就出错???


--  作者:有点蓝
--  发布时间:2020/12/9 11:53:00
--  
命令窗口调用什么代码?
--  作者:hb8888
--  发布时间:2020/12/9 12:08:00
--  
比如我定义的是vars集合变量,我要遍历此集合变量中的值

\'\'\'
for each a as double in vars("a"-"b")      \'----此变量命令窗口能查到
output(a) 
next


--  作者:有点蓝
--  发布时间:2020/12/9 13:35:00
--  
就不能认真看看2楼的帮助?

for each a as double in vars("a""-""b") 

--  作者:hb8888
--  发布时间:2020/12/9 18:05:00
--  
费劲,我是问为什么?,如果就在代码中运行,要不要改代码?
--  作者:有点蓝
--  发布时间:2020/12/10 8:28:00
--  

如果字符串中本身包括双引号,那么用每两个双引号表示一个双引号。
将下面的代码复制到命令窗口执行:

Dim s1 As String = "利马是有名的""无雨之都"""
Output.Show(s1)

你会发现s1的值为:利马是有名的"无雨之都"


如果字符串来自变量,或者单元格不需要改