📝 docs(tsl): rebuild canonical syntax and routing manual
This commit is contained in:
@@ -0,0 +1,396 @@
|
||||
#### 客户端函数
|
||||
|
||||
##### 内容
|
||||
|
||||
- 结果处理
|
||||
- 错误处理
|
||||
- 客户端行为控制函数
|
||||
- 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和NAME,ID列就是函数类型的数字,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;
|
||||
```
|
||||
Reference in New Issue
Block a user