playbook/docs/tsl/syntax_book/function/tsl/client.md

7.7 KiB
Raw Blame History

客户端函数

内容
  • 结果处理
  • 错误处理
  • 客户端行为控制函数
  • SendRunningData
结果处理
内容
  • DelPrecode
  • IncPrecode
  • ProcessField
  • ProcessFirstField
  • TimeSeriesSplit
  • ReportSeriesSplit
  • TwoDimFormat2
  • ThreeDimFormat2
  • ThreeDimFormat3
  • ThreeDimFormat4
  • ThreeDimFormat5
  • ThreeDimFormat6
  • IsTwoDim
  • TransForm
  • TransPose
  • TransPoseForChart
  • TransPoseForChartSysParam
  • TransPoseForChartSysParamEx
  • TransDataStandardize
  • CallBack
  • 层次表格的展开
  • 简单统计
  • 品种管理
DelPrecode
IncPrecode
ProcessField
ProcessFirstField
TimeSeriesSplit
ReportSeriesSplit
TwoDimFormat2
ThreeDimFormat2
ThreeDimFormat3
ThreeDimFormat4
ThreeDimFormat5
ThreeDimFormat6
IsTwoDim
TransForm
TransPose
TransPoseForChart
TransPoseForChartSysParam
TransPoseForChartSysParamEx
TransDataStandardize
CallBack

####### 内容

  • DelPrecodeCallBack
  • IncPrecodeCallBack

####### DelPrecodeCallBack

用途:结果处理相关函数。 参数:

返回:处理后的结果值。

范例

return DelPrecodeCallBack('SH600000');

结果:’ 600000

####### IncPrecodeCallBack

用途:结果处理相关函数。 参数:

返回:处理后的结果值。

范例

return IncPrecodeCallBack('000002.SZ');

结果SZ000002

层次表格的展开

####### 内容

  • CheckDataCanBeExtract
  • ExtractData
  • ExtractDataEx
  • ExtractDataEx2
  • ExtractDataLocalRun
  • ExtractDataLocalRun2

####### CheckDataCanBeExtract

####### ExtractData

用途:结果处理相关函数。 参数:

返回:处理后的结果值。

范例

r := Query("", "SH600000;SZ000002", true, "", "代码", DefaultStockID(),
"名称", CurrentStockName(),
"股票.分红送股", infoarray(18));
return ExtractData(r, 1, 0);

####### ExtractDataEx

用途:结果处理相关函数。 参数:

返回:处理后的结果值。

范例

r := Query("", "SH600000;SZ000002", true, "", "代码", DefaultStockID(),
"名称", CurrentStockName(),
"名称2", CurrentStockName(),
"名称3f", CurrentStockName(),
"股票.分红送股", infoarray(18));
return ExtractDataEx(r, 1, 0, 1);

####### ExtractDataEx2

用途:结果处理相关函数。 参数:

返回:处理后的结果值。

范例

// 数据展开范例
r := Query("", "SH600000;SZ000002", true, "", "代码", DefaultStockID(),
"名称", CurrentStockName(),
"名称2", CurrentStockName(),
"名称3f", CurrentStockName(),
"股票.分红送股", infoarray(18));
return ExtractDataEx2(r, 1, 0, 1, 1);

####### ExtractDataLocalRun

####### ExtractDataLocalRun2

用途:结果处理相关函数。 参数:

返回:处理后的结果值。

范例

// 数据展开范例
r := Query("", "SH600000;SZ000002", true, "", "代码", DefaultStockID(),
"名称", CurrentStockName(),
"名称2", CurrentStockName(),
"名称3f", CurrentStockName(),
"股票.分红送股", infoarray(18));
setsysparam(pn_data(), r);
return ExtractDataLocalRun2(0, 1);
简单统计

####### 内容

  • SimpleStat
  • SimpleStatLocal

####### SimpleStat

用途:结果处理相关函数。 参数:

返回:处理后的结果值。

范例

data := array(1, 2, 3, 4, 5);
return SimpleStat(Data);

####### SimpleStatLocal

品种管理

####### 内容

  • GetDefaultFuncNameByStock
  • GetTypeOfStock

####### GetDefaultFuncNameByStock

####### GetTypeOfStock

用途:结果处理相关函数。 参数:

返回:处理后的结果值。

范例

return GetTypeOfStock('OF000001');

结果4

错误处理
内容
  • ThisFuncOnlyForStock
  • ThisFuncOnlyForBond
  • ThisFuncUnderConstruction
  • ThisFunOnlyForIndex
  • RaiseError
  • ThisFuncOnlyForFund
  • ASSERT
ThisFuncOnlyForStock
ThisFuncOnlyForBond
ThisFuncUnderConstruction
ThisFunOnlyForIndex
RaiseError

范例

return raise Error('function1', '无效的语段');
ThisFuncOnlyForFund
ASSERT

用途:错误处理相关函数。 参数:

返回:处理后的结果值。

范例

return ASSERT(0, '无效的语段');
客户端行为控制函数
内容
  • 客户端行为控制函数简介
  • TSExpert_ClientConfig
客户端行为控制函数简介

客户端行为控制是指客户端会调用一个模型该模型的返回的结果会影响到客户端的行为目前客户端支持用户编写一个名为TSExpert_ClientConfig的函数客户端会根据该函数的返回结果集来决定CHART的背景图CHART的颜色序列重新登录自动执行函数等等行为。

TSExpert_ClientConfig

范例

// 在客户端内创建函数函数名为TSExpert_ClientConfig函数体内的函数如下
r := array();
r["AutoRun"][0] := 'TS_ClientDemo'; // TS_ClientDemo为预先设定好的函数在下次登陆客户端时会自动运行该函数。其中TS_ClientDemo的代码为rdo2 MessageBox("欢迎登陆天软客户端","您好",rdo2 mb_DefButton1());
return r;

效果: 重新启动客户端时,会弹出下面对话框

该函数的返回值为一个数组,该数组的下标定义如下:

####### 内容

  • ChartColor
  • ChartColorArray
  • DisabledFuncTypeList
  • DisabledSystemFuncList
  • DisabledSysFuncList
  • FuncTypeList
  • AutoRun

####### ChartColor

值为整数为数组类型数据展示的Chart图的默认背景色。

例如值为clWhite()

####### ChartColorArray

值为一个一维整数颜色数组该数组为在数组类型数据展示的时候下边的Chart的序列的颜色序列例如array(clRed(),clYellow(),clBlue()…..)表示第一个图的颜色为红色,第二个为黄色,第三个为蓝色…..。

####### DisabledFuncTypeList

值为一个一维整数数组代表了在系统里禁用的函数类型ID函数类型在funcType.cfg里定义。被禁止的函数类型将不会在系统里展示。

####### DisabledSystemFuncList

值为一个一维字符串数组,代表了在系统中隐藏的共用函数的函数名列表。

####### DisabledSysFuncList

值为一个一维字符串数组,代表了在系统中隐藏的二进制系统函数的函数名列表。

####### FuncTypeList

值为一个二维数组该数组为扩展的函数类型定义其定义参考FuncType.cfg。

这个二维数组有两列分别为ID和NAMEID列就是函数类型的数字NAME则是函数类型的显示名称。

例如:

Array(("ID":601,"NAME":"我的扩展.扩展范例1"),…….)

####### AutoRun

值为一个数组,代表在客户端每次重新登录后自动运行的函数列表。

数组可以是一维的也可以是二维。如果是一维则每项的值为字符串类型为需要的自动运行的函数名如果是二维的则具备两列分别为type和name。

type列类型为整数表示函数的类型。0:用户函数1:共享函数2:共用函数3:系统函数

name列类型为字符串表示函数的名称。

例如array("AutoRunDemo1","AutoRunDemo2")表明启动的时候自动运行名为autorundemo1和autorundemo2的函数。

也可以用array(("type":0,"name":"AutoRunDemo1"),("type":0,"name":"AutoRunDemo2"))表明自动运行用户函数AutoRunDemo1和用户函数AutoRunDemo2。

SendRunningData

范例

// 在原窗口输出个数无需加Nwdow参数
n := 0;
while n < 100 do
begin
    Echo n;
    SendRunningData(n);
    n++;
end;
return 1;
// 在新窗口输出数组则需要加Nwdow参数代码如下
n := 0;
while n < 100 do
begin
    Echo n;
    SendRunningData(rand(10), "新窗口");
    n++;
end;
return 1;