397 lines
7.7 KiB
Markdown
397 lines
7.7 KiB
Markdown
#### 客户端函数
|
||
|
||
##### 内容
|
||
|
||
- 结果处理
|
||
- 错误处理
|
||
- 客户端行为控制函数
|
||
- 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;
|
||
```
|