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