♻️ refactor(playbook): streamline agents and refresh tsl docs

This commit is contained in:
csh
2026-01-10 16:55:44 +08:00
parent b529012c59
commit 5822a8736d
88 changed files with 103561 additions and 130104 deletions
@@ -10,47 +10,17 @@
接口汇总:
<table><tbody><tr><td>
所属分类</td><td>
接口名称</td><td>
说明</td><td>
备注</td></tr><tr><td>
总接口</td><td>
<a href="http://www.tinysoft.com.cn/tsdn/helpdoc/SearchContent.tsl?KeyWord=Fastmap" target="_blank">fastmap</a></td><td>
调用网格执行函数</td><td>
</td></tr><tr><td>
日志</td><td>
<a href="http://www.tinysoft.com.cn/tsdn/helpdoc/SearchContent.tsl?KeyWord=GridLogo" target="_blank">gridLogo</a></td><td>
网格写日志</td><td>
</td></tr><tr><td>
等分划分方式</td><td>
<a href="http://www.tinysoft.com.cn/tsdn/helpdoc/SearchContent.tsl?KeyWord=SplitDiv" target="_blank">splitDiv</a></td><td>
度等分划分</td><td>
参数为度(int</td></tr><tr><td>
</td><td>
<a href="http://www.tinysoft.com.cn/tsdn/helpdoc/SearchContent.tsl?KeyWord=SplitDiv2" target="_blank">splitDiv2</a></td><td>
长度等分划分</td><td>
</td></tr><tr><td>
</td><td>
<a href="http://www.tinysoft.com.cn/tsdn/helpdoc/SearchContent.tsl?KeyWord=DeleteTablebyReg" target="_blank">SplitArrayQK</a></td><td>
数组等分划分</td><td>
参数为数组(array</td></tr><tr><td>
</td><td>
<a href="http://www.tinysoft.com.cn/tsdn/helpdoc/SearchContent.tsl?KeyWord=SplitArrayQK2" target="_blank">SplitArrayQK2</a></td><td>
数组等分划分</td><td>
</td></tr><tr><td>
用户数据相关</td><td>
<a href="http://www.tinysoft.com.cn/tsdn/helpdoc/SearchContent.tsl?KeyWord=DeleteTablebyReg" target="_blank">DeleteTablebyReg</a></td><td>
批量删除用户数据</td><td>
正则匹配</td></tr><tr><td>
</td><td>
<a href="http://www.tinysoft.com.cn/tsdn/helpdoc/SearchContent.tsl?KeyWord=GettablebyReg" target="_blank">GettablebyReg</a></td><td>
获取用户数据</td><td>
正则匹配</td></tr><tr><td>
</td><td>
<a href="http://www.tinysoft.com.cn/tsdn/helpdoc/SearchContent.tsl?KeyWord=TryInsetTable" target="_blank">TryInsetTable</a></td><td>
添加用户数据</td><td>
正则匹配</td></tr></tbody></table>
| 所属分类 | 接口名称 | 说明 | 备注 |
| --- | --- | --- | --- |
| 总接口 | fastmap | 调用网格执行函数 | |
| 日志 | gridLogo | 网格写日志 | |
| 等分划分方式 | splitDiv | 度等分划分 | 参数为度(int) |
| | splitDiv2 | 长度等分划分 | |
| | SplitArrayQK | 数组等分划分 | 参数为数组(array) |
| | SplitArrayQK2 | 数组等分划分 | |
| 用户数据相关 | DeleteTablebyReg | 批量删除用户数据 | 正则匹配 |
| | GettablebyReg | 获取用户数据 | 正则匹配 |
| | TryInsetTable | 添加用户数据 | 正则匹配 |
网格使用经验:
@@ -86,127 +56,67 @@ VS 0.4s
####### 提取50的5日涨幅
```text
//**********************参数设置***********************//
N := 5;
endt := today();
stocks := getbk("上证50");
//**********************网格模版*********************//
gridNo := 3; //网格个数,0:表示只使用本地服务器
func := FunctionName() + '.tsubbystocks'; //网格函数
parms := array(N,endt,stocks);
parmstype := array(0, 0, 1);
return unit(MultiProc_unit).fastmap(gridNo,func,parms,parmstype);
//***********************子函数**********************//
function tsubbystocks(N, endt,stocks);
```tsl
// **********************参数设置***********************//
N := 5;
endt := today();
stocks := getbk("上证50");
// **********************网格模版*********************//
gridNo := 3; // 网格个数,0:表示只使用本地服务器
func := FunctionName() + '.tsubbystocks'; // 网格函数
parms := array(N, endt, stocks);
parmstype := array(0, 0, 1);
return unit(MultiProc_unit).fastmap(gridNo, func, parms, parmstype);
// ***********************子函数**********************//
function tsubbystocks(N, endt, stocks);
begin
sp_s(pn_date(),endt);
i := 0;
ret := array();
for _,stk in stocks do
begin
sp_s(PN_Stock(),stk);
for j := 0 to N do
begin
ret[I,'截止日'] := ref(sp_time(),j);
ret[i,'代码'] := stk;
ret[i,'名称'] := stockname(stk);
ret[I,'涨幅(%)'] := ref(stockzf3(),j);
i++;
end
end;
return ret;
sp_s(pn_date(), endt);
i := 0;
ret := array();
for _, stk in stocks do
begin
sp_s(PN_Stock(), stk);
for j := 0 to N do
begin
ret[I, '截止日'] := ref(sp_time(), j);
ret[i, '代码'] := stk;
ret[i, '名称'] := stockname(stk);
ret[I, '涨幅(%)'] := ref(stockzf3(), j);
i++;
end;
end;
return ret;
end;
```
//返回
返回
####### 提取50的历史涨幅矩阵
```text
//**********************参数设置***********************//
N := 5;
endt := today();
stocks := getbk("上证50");
//**********************网格模版*********************//
//**********************网格模版*********************//
gridNo := 3; //网格个数,0:表示只使用本地服务器
func := FunctionName() + '.tsubbystock'; //网格函数
parms := array(N,endt,stocks);
parmstype := array(0, 0, 2);
return unit(MultiProc_unit).fastmap(gridNo,func,parms,parmstype);
```tsl
// **********************参数设置***********************//
N := 5;
endt := today();
stocks := getbk("上证50");
// **********************网格模版*********************//
// **********************网格模版*********************//
gridNo := 3; // 网格个数,0:表示只使用本地服务器
func := FunctionName() + '.tsubbystock'; // 网格函数
parms := array(N, endt, stocks);
parmstype := array(0, 0, 2);
return unit(MultiProc_unit).fastmap(gridNo, func, parms, parmstype);
end;
function tsubbystock(N, endt,stock);
function tsubbystock(N, endt, stock);
begin
sp_s(PN_Stock(),stock);
sp_s(pn_date(),endt);
ret := array(
"代码":stock,
"名称":stockname(stock),
"截止日":endt,
);
for i := 1 to N do
ret["T_" $ i] := ref(stockzf3(),i);
return ret;
sp_s(PN_Stock(), stock);
sp_s(pn_date(), endt);
ret := array(
"代码":stock,
"名称":stockname(stock),
"截止日":endt,
);
for i := 1 to N do ret["T_"$ i] := ref(stockzf3(), i);
return ret;
end;
```
@@ -218,12 +128,16 @@ end;
####### GridLogo
用途:MultiProc_unit相关函数。
参数:arg1(按示例顺序传入)。
返回:处理后的结果值。
范例
```text
//在C:\\temp\\Gridlog默认路径下写日志文件
Return unit(MultiProc_unit).gridLogo('测试');
```tsl
// 在C:\\temp\\Gridlog默认路径下写日志文件
return unit(MultiProc_unit).gridLogo('测试');
```
###### 中间函数
@@ -242,60 +156,82 @@ Return unit(MultiProc_unit).gridLogo('测试');
范例
```text
Return unit(MultiProc_unit).splitDiv(14,5); // array(0,2,4,6,8,14)
```tsl
return unit(MultiProc_unit).splitDiv(14, 5); // array(0,2,4,6,8,14)
```
####### SplitDiv2
范例
```text
Return unit(MultiProc_unit).splitDiv2(14,5); // array(0,3,6,9,12,14)
```tsl
return unit(MultiProc_unit).splitDiv2(14, 5); // array(0,3,6,9,12,14)
```
####### SplitArrayQK
用途:MultiProc_unit相关函数。
参数:arg1,arg2(按示例顺序传入)。
返回:处理后的结果值。
范例
```text
arr := array(2,1,3,4,9,5,7,8,9,10,11,12,13,15);
return unit(MultiProc_unit).SplitArrayQK(arr,5); //array((2,1),(3,4),(9,5),(7,8),(9,15))
```tsl
arr := array(2, 1, 3, 4, 9, 5, 7, 8, 9, 10, 11, 12, 13, 15);
return unit(MultiProc_unit).SplitArrayQK(arr, 5); // array((2,1),(3,4),(9,5),(7,8),(9,15))
```
####### SplitArrayQK2
用途:MultiProc_unit相关函数。
参数:arg1,arg2(按示例顺序传入)。
返回:处理后的结果值。
范例
```text
arr := array(2,1,3,4,9,5,7,8,9,10,11,12,13,15);
return unit(MultiProc_unit).SplitArrayQK2(arr,5);
```tsl
arr := array(2, 1, 3, 4, 9, 5, 7, 8, 9, 10, 11, 12, 13, 15);
return unit(MultiProc_unit).SplitArrayQK2(arr, 5);
// array((2,3),(4,5),(7,9),(10,12),(13,15))
```
####### DeleteTablebyReg
用途:MultiProc_unit相关函数。
参数:arg1(按示例顺序传入)。
返回:处理后的结果值。
范例
```text
Return unit(MultiProc_unit).DeleteTablebyReg('test');
```tsl
return unit(MultiProc_unit).DeleteTablebyReg('test');
```
####### GettablebyReg
用途:MultiProc_unit相关函数。
参数:arg1(按示例顺序传入)。
返回:处理后的结果值。
范例
```text
Return unit(MultiProc_unit).GettablebyReg('test');
```tsl
return unit(MultiProc_unit).GettablebyReg('test');
```
####### TryInsetTable
用途:MultiProc_unit相关函数。
参数:arg1,arg2(按示例顺序传入)。
返回:处理后的结果值。
范例
```text
Return unit(MultiProc_unit).TryInsetTable('test',array(1,2,3));
```tsl
return unit(MultiProc_unit).TryInsetTable('test', array(1, 2, 3));
```