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

397 lines
7.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#### 客户端函数
##### 内容
- 结果处理
- 错误处理
- 客户端行为控制函数
- 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
用途:结果处理相关函数。
参数:
返回:处理后的结果值。
范例
```tsl
return DelPrecodeCallBack('SH600000');
```
结果:’ 600000
####### IncPrecodeCallBack
用途:结果处理相关函数。
参数:
返回:处理后的结果值。
范例
```tsl
return IncPrecodeCallBack('000002.SZ');
```
结果SZ000002
###### 层次表格的展开
####### 内容
- CheckDataCanBeExtract
- ExtractData
- ExtractDataEx
- ExtractDataEx2
- ExtractDataLocalRun
- ExtractDataLocalRun2
####### CheckDataCanBeExtract
####### ExtractData
用途:结果处理相关函数。
参数:
返回:处理后的结果值。
范例
```tsl
r := Query("", "SH600000;SZ000002", true, "", "代码", DefaultStockID(),
"名称", CurrentStockName(),
"股票.分红送股", infoarray(18));
return ExtractData(r, 1, 0);
```
####### ExtractDataEx
用途:结果处理相关函数。
参数:
返回:处理后的结果值。
范例
```tsl
r := Query("", "SH600000;SZ000002", true, "", "代码", DefaultStockID(),
"名称", CurrentStockName(),
"名称2", CurrentStockName(),
"名称3f", CurrentStockName(),
"股票.分红送股", infoarray(18));
return ExtractDataEx(r, 1, 0, 1);
```
####### ExtractDataEx2
用途:结果处理相关函数。
参数:
返回:处理后的结果值。
范例
```tsl
// 数据展开范例
r := Query("", "SH600000;SZ000002", true, "", "代码", DefaultStockID(),
"名称", CurrentStockName(),
"名称2", CurrentStockName(),
"名称3f", CurrentStockName(),
"股票.分红送股", infoarray(18));
return ExtractDataEx2(r, 1, 0, 1, 1);
```
####### ExtractDataLocalRun
####### ExtractDataLocalRun2
用途:结果处理相关函数。
参数:
返回:处理后的结果值。
范例
```tsl
// 数据展开范例
r := Query("", "SH600000;SZ000002", true, "", "代码", DefaultStockID(),
"名称", CurrentStockName(),
"名称2", CurrentStockName(),
"名称3f", CurrentStockName(),
"股票.分红送股", infoarray(18));
setsysparam(pn_data(), r);
return ExtractDataLocalRun2(0, 1);
```
###### 简单统计
####### 内容
- SimpleStat
- SimpleStatLocal
####### SimpleStat
用途:结果处理相关函数。
参数:
返回:处理后的结果值。
范例
```tsl
data := array(1, 2, 3, 4, 5);
return SimpleStat(Data);
```
####### SimpleStatLocal
###### 品种管理
####### 内容
- GetDefaultFuncNameByStock
- GetTypeOfStock
####### GetDefaultFuncNameByStock
####### GetTypeOfStock
用途:结果处理相关函数。
参数:
返回:处理后的结果值。
范例
```tsl
return GetTypeOfStock('OF000001');
```
结果4
##### 错误处理
###### 内容
- ThisFuncOnlyForStock
- ThisFuncOnlyForBond
- ThisFuncUnderConstruction
- ThisFunOnlyForIndex
- RaiseError
- ThisFuncOnlyForFund
- ASSERT
###### ThisFuncOnlyForStock
###### ThisFuncOnlyForBond
###### ThisFuncUnderConstruction
###### ThisFunOnlyForIndex
###### RaiseError
范例
```tsl
return raise Error('function1', '无效的语段');
```
###### ThisFuncOnlyForFund
###### ASSERT
用途:错误处理相关函数。
参数:
返回:处理后的结果值。
范例
```tsl
return ASSERT(0, '无效的语段');
```
##### 客户端行为控制函数
###### 内容
- 客户端行为控制函数简介
- TSExpert_ClientConfig
###### 客户端行为控制函数简介
客户端行为控制是指客户端会调用一个模型该模型的返回的结果会影响到客户端的行为目前客户端支持用户编写一个名为TSExpert_ClientConfig的函数客户端会根据该函数的返回结果集来决定CHART的背景图CHART的颜色序列重新登录自动执行函数等等行为。
###### TSExpert_ClientConfig
范例
```tsl
// 在客户端内创建函数函数名为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
范例
```tsl
// 在原窗口输出个数无需加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;
```