A:SetSysParams 是在与第三方交互时使用的函数,不支持在客户端中调用。在天软中,系统参数的获取跟设置,有以下几种方法:
1、使用setsysparam一个个设置:作用于整个函数;
2、使用
with * , array(参数1:参数1的值,参数2:参数2的值...) do
begin
...
end
的方法:作用于被begin...end封装起来的代码段
3、使用specAll(调用函数,array(设置的系统参数1:参数值,设置的系统参数2:参数值...):仅作用于第一个参数“调用函数”
下面是几种方法的使用案例:
echo '默认系统参数:'$ tostn(sysparams); //sysparams获取当前所有系统参数详情
//设置指定系统参数 ->setsysparam ->作用范围:全局
setsysparam(pn_rate(),1);
setsysparam(pn_cycle(),cy_week());
setsysparam('myParam',12345);//设置用户自定义的全局变量,可用getsysparam('myParam');获取
//系统参数的设置 -->with ->作用范围:with语句段
echo 'with前状态:'$tostn(sysparams);
a:=array(pn_stock():"SZ000002",pn_cycle():cy_1m(),pn_date():20170710T+10/24);
with *,a do //即以变量a中的设置为最新系统参数,其他的保留此前的设置
begin //a的更改只作用于with语句段中
echo 'with中状态:'$tostn(sysparams);
end
echo 'with结束后状态:'$tostn(sysparams); //回到with前的系统参数值状态
//指定系统参数的设置-->spec、specdate、specAll ->作用范围:该语句
a:=spec(close(),'SH600000');//指定股票SH600000的当前时间的收盘价->该票只在该语句中有效
b:=specdate(close(),20170505T);//当前票在指定日20170505日的收盘价->该当前时间只在该语句中有效
//指定票、指定周期、指定时间点、指定复权方式后的收盘价
c:=specAll(close(),array(pn_stock():'SZ000001',pn_cycle():cy_10m(),pn_date():20170505.1450T,pn_rate():1));
return array(a,b,c);