以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  XTGBSTRINGSE 问题  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=144716)

--  作者:orca8
--  发布时间:2016/12/14 16:20:12
--  XTGBSTRINGSE 问题

dstr := NUMTOSTR(year,0)+\'/\'+NUMTOSTR(MONTH,0)+\'/\'+NUMTOSTR(day,0);

1 EXTGBSTRINGSET(\'cursetenddate\',  \'2016/12/14\'+ \' 23:40:00\');

2 EXTGBSTRINGSET(\'cursetenddate\',  strcat(dstr, \' 23:40:00\'));

2 EXTGBSTRINGSET(\'cursetenddate\',  dstr+ \' 23:40:00\');

为什么2,3 都不能改变全局变量的值 1 可以

--  作者:jinzhe
--  发布时间:2016/12/14 16:31:14
--  
意思就是3个同样的赋值方法,就第一个方法可以?
--  作者:orca8
--  发布时间:2016/12/14 17:01:06
--  

--  作者:orca8
--  发布时间:2016/12/14 17:07:37
--  
1 EXTGBSTRINGSET(\'cursetenddate\',\'\');
 2 EXTGBSTRINGSET(\'cursetenddate\',  strcat(dstr, \' 17:40:00\'));

查看全局变量,变量的数据 是空的 也就是 第二条 没有设置成功;

--  作者:jinzhe
--  发布时间:2016/12/14 17:31:09
--  

问题所在是:不能用函数指代的数据,只能用具体的数据:

dstr := numtostr(15,0);
EXTGBSTRINGset(\'cursetenddate2\',dstr);

15为具体数据是可以的

 

dstr := numtostr(close,0);
EXTGBSTRINGset(\'cursetenddate2\',dstr);

close这样的指代函数数据是不可以的

 

这个问题我们已经记录在案,感谢用户提交的问题

 

 

[此贴子已经被作者于2016-12-14 17:33:01编辑过]

--  作者:王锋
--  发布时间:2016/12/14 19:52:17
--  

dstr : NUMTOSTR(const(year),0)&\'/\'&NUMTOSTR(const(MONTH),0)&\'/\'&NUMTOSTR(const(day),0);

EXTGBSTRINGSET(\'cursetenddate1\',  dstr);

 

这样改进就好了,主要原因是dstr是序列数据,而第一个参数是常数,这样更改还可以保持高效率。