Flatten builtin pages, add third-party and platform scopes, and import financial and data warehouse references. Keep the existing generated index without rebuilding after signature normalization.
516 lines
12 KiB
Markdown
516 lines
12 KiB
Markdown
# Builtin - 平台与客户端
|
|
|
|
## `deleteBk(bk_name)`
|
|
|
|
声明:function
|
|
|
|
从用户板块中删除名为bk_name的板块
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| --------- | ------ | ------------------ |
|
|
| `bk_name` | string | 字符串,板块名称 |
|
|
|
|
返回:boolean
|
|
|
|
### 示例
|
|
|
|
```tsl
|
|
echo deleteBk("MySector"), "\n";
|
|
```
|
|
|
|
## `deleteTable(table_name)`
|
|
|
|
声明:function
|
|
|
|
删除指定的用户数据
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------------ | ------ | ------------------------------ |
|
|
| `table_name` | string | 要删除的用户数据全名称,字符串 |
|
|
|
|
返回:integer
|
|
|
|
### 示例
|
|
|
|
范例01:删除指定目录下的用户数据
|
|
|
|
```tsl
|
|
ret := deleteTable('mydata\\testA');
|
|
echo ret, "\n";
|
|
// 输出:-1
|
|
```
|
|
|
|
范例02:按名称规则删除用户数据
|
|
|
|
```tsl
|
|
data := listTable();
|
|
for i := 0 to length(data) - 1 do
|
|
begin
|
|
if pos('mydata\\test', data[i]) > 0 then
|
|
begin
|
|
deleteTable(data[i]);
|
|
end;
|
|
end;
|
|
echo listTable(), "\n";
|
|
```
|
|
|
|
## `functionName()`
|
|
|
|
声明:function
|
|
|
|
当前运行的函数的名称
|
|
|
|
返回:string
|
|
|
|
### 示例
|
|
|
|
范例01:读取当前脚本函数名称
|
|
|
|
```tsl
|
|
echo functionName(), "\n";
|
|
```
|
|
|
|
## `functionType()`
|
|
|
|
声明:function
|
|
|
|
当前运行的函数的类型,即返回当前函数是公用函数还是用户函数
|
|
|
|
返回:integer
|
|
|
|
### 示例
|
|
|
|
范例01:读取当前脚本函数类型
|
|
|
|
```tsl
|
|
echo functionType(), "\n";
|
|
```
|
|
|
|
## `functionVer(type, name)`
|
|
|
|
声明:function
|
|
|
|
返回函数在服务器中保存的版本号,可用于判断函数是否被修改过,也可与 `saveTable` 和 `loadTable` 配合使用
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------- | ------- | ---------- |
|
|
| `type` | integer | 函数类型 |
|
|
| `name` | string | 函数名称 |
|
|
|
|
返回:integer
|
|
|
|
### 示例
|
|
|
|
```tsl
|
|
version := functionVer(functionType(), functionName());
|
|
echo version, "\n";
|
|
```
|
|
|
|
## `hexToString(str)`
|
|
|
|
声明:function
|
|
|
|
stm用户数据名称转码(十六进制)
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ----- | ------ | -------------------------- |
|
|
| `str` | string | 字符串类型,十六进制字符串 |
|
|
|
|
返回:string
|
|
|
|
### 示例
|
|
|
|
```tsl
|
|
// 将用户数据名转化为可读串
|
|
str := 'hex_74657374646174613031.stm';
|
|
echo hexToString(str), "\n";
|
|
// 输出:testdata01
|
|
```
|
|
|
|
## `isbackground()`
|
|
|
|
声明:function
|
|
|
|
获得当前运行的模型是否以委托执行的后台模式运行
|
|
|
|
返回:boolean
|
|
|
|
### 示例
|
|
|
|
```tsl
|
|
echo isBackGround(), "\n";
|
|
```
|
|
|
|
## `listTable()`
|
|
|
|
声明:function
|
|
|
|
返回用户数据的名称列表(一维数组)
|
|
|
|
返回:array
|
|
|
|
### 示例
|
|
|
|
```tsl
|
|
echo listTable(), "\n";
|
|
```
|
|
|
|
## `loadTable(name[, table_type])`
|
|
|
|
声明:function
|
|
|
|
提取用户数据,装入用户表,从name指定的位置将数据导出,table_type参数可省略,默认为0,0或省略时表示装入当前用户表,1表示装入系统表,即可导入系统账号system的用户数据
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------------ | ------ | ------------------------------------ |
|
|
| `name` | string | 字符串,数据存储位置的名称 |
|
|
| `table_type` | bool | 可选,布尔类型,数据类型,默认为 0 |
|
|
|
|
返回:any
|
|
|
|
### 示例
|
|
|
|
```tsl
|
|
// 提取名为 testA 的当前用户数据
|
|
echo loadTable('testA'), "\n";
|
|
```
|
|
|
|
## `loadTableEx(table_name)`
|
|
|
|
声明:function
|
|
|
|
加载用户数据table_name,如若table_name非空,则返回table_name数据,否则返回空数组
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------------ | ------ | -------------------- |
|
|
| `table_name` | string | 字符串,数据文件名称 |
|
|
|
|
返回:array
|
|
|
|
### 示例
|
|
|
|
```tsl
|
|
echo loadTableEx('repitle'), "\n";
|
|
```
|
|
|
|
## `saveBk(bk_name, bk_dir, sample)`
|
|
|
|
声明:function
|
|
|
|
保存用户板块,将品种数组保存到指定板块目录下,保存的板块名为bk_name,保存板块后,用户不能直接在客户端的用户板块中看到该板块,但是可以用getbk模型获取到,用户重新登录后可看到
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| --------- | ------ | ------------------------------------------ |
|
|
| `bk_name` | string | 字符串,板块名称 |
|
|
| `bk_dir` | string | 字符串,板块保存的目录 |
|
|
| `sample` | array | 一维数组,可以是股票、基金等品种代码列表 |
|
|
|
|
返回:boolean
|
|
|
|
### 示例
|
|
|
|
```tsl
|
|
echo saveBk("MySector", "我的一级分类\\我的二级分类", array("SZ000001", "SZ000002")), "\n";
|
|
```
|
|
|
|
## `saveTable(name, value[, stream_type])`
|
|
|
|
声明:function
|
|
|
|
保存用户数据到服务器,服务器为每一位用户保留一块存储区域,可以把自有数据保存进去,以备分析时使用
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
| `name` | string | 存储位置的名称, 字符串类型 |
|
|
| `value` | any | 各种类型的数据,如 integer、string、array |
|
|
| `stream_type` | boolean | 新流格式,可缺省,缺省时根据前端的版本(2020年6月前的版本为旧版本,之后的为新版本)决定是否存储为新流格式,0指定原始流格式,1强制为新流格式 |
|
|
|
|
返回:integer
|
|
|
|
### 示例
|
|
|
|
范例01:直接保存到根目录
|
|
|
|
```tsl
|
|
r := rand(10, 10);
|
|
echo saveTable('testA', r), "\n";
|
|
// 输出:-1
|
|
```
|
|
|
|
范例02:保存到指定目录
|
|
|
|
```tsl
|
|
r := rand(10, 10);
|
|
echo saveTable('mydata\\testA', r), "\n";
|
|
// 输出:-1
|
|
```
|
|
|
|
范例03:比较新旧流格式
|
|
|
|
```tsl
|
|
data := array(1, 2, 3);
|
|
r1 := saveTable("TestSTData01", data);
|
|
r2 := saveTable("TestSTData02", data, 0);
|
|
r3 := saveTable("TestSTData03", data, 1);
|
|
echo array(r1, r2, r3), "\n";
|
|
```
|
|
|
|
## `sendToClient(cmd_type, cmd_text, cmd_param, cmd_data[, time_out])`
|
|
|
|
声明:function
|
|
|
|
发送命令到客户端执行
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ----------- | ------- | -------------------------- |
|
|
| `cmd_type` | string | 命令类型 |
|
|
| `cmd_text` | string | 命令串 |
|
|
| `cmd_param` | any | 命令参数 |
|
|
| `cmd_data` | any | 命令数据 |
|
|
| `time_out` | integer | 超时的秒数,默认是300s超时 |
|
|
|
|
### cmd_type 取值
|
|
|
|
- `Echo`:显示信息
|
|
- `Import`:导入数据
|
|
- `Export`:导出数据
|
|
- `Rdo`:远程调用
|
|
- `Rdo2`:远程调用并返回
|
|
- `Do`:远程执行命令串
|
|
- `Getdo`:远程执行命令串并返回
|
|
|
|
返回:any
|
|
|
|
### 示例
|
|
|
|
范例01:在客户端计算表达式并返回结果
|
|
|
|
```tsl
|
|
echo sendToClient("getdo", "return 100 + 1;", nil, nil), "\n";
|
|
// 输出:101
|
|
```
|
|
|
|
范例02:传递系统参数并设置超时秒数
|
|
|
|
```tsl
|
|
params := array("a": 10, "b": 30);
|
|
echo sendToClient("getdo", "return getSysParam('a') + getSysParam('b');", nil, params, 30), "\n";
|
|
// 输出:40
|
|
```
|
|
|
|
## `setUID(uid)`
|
|
|
|
声明:function
|
|
|
|
将当前用户设置为指定用户,调用方需要相应权限,设置成功返回真
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ----- | ------ | -------- |
|
|
| `uid` | string | 用户名 |
|
|
|
|
返回:bool
|
|
|
|
### 示例
|
|
|
|
```tsl
|
|
echo setUid(userName()), "\n";
|
|
```
|
|
|
|
## `sudo(uid, exp)`
|
|
|
|
声明:function
|
|
|
|
以UID指定的用户执行EXP表达式,该EXP为隐式表达式,例如SUDO("system",DoSomeThing()),如用户需要用显式的表达式,采用SUDO(UID,Eval(Exp))即可,SUDO和User不一样,SUDO需要有权限,而且SUDO是完全以指定用户来执行,访问的数据资源等均以指定的UID来运行,与SetUID不一样的地方是SUDO执行完EXP后用户ID便恢复成原始的ID
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ----- | ---------- | ---------------- |
|
|
| `uid` | string | 字符串,用户名 |
|
|
| `exp` | expression | 表达式 |
|
|
|
|
返回:any
|
|
|
|
### 示例
|
|
|
|
范例01:以当前用户计算表达式
|
|
|
|
```tsl
|
|
echo sudo(userName(), 1 + 1), "\n";
|
|
```
|
|
|
|
## `testTable(name[, table_type])`
|
|
|
|
声明:function
|
|
|
|
检查数据是否存在,测试是否存在指定name的数据,如果table_type为真则为测试系统数据表,即测试系统账号system是否存在name指定的数据,table_type缺省或为0
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------------ | ------- | -------------------------------------------------------------- |
|
|
| `name` | string | 字符串,数据存储位置的名称 |
|
|
| `table_type` | boolean | 可选,bool 类型,为假或者省略时装入当前用户表,否则装入系统表 |
|
|
|
|
返回:boolean
|
|
|
|
### 示例
|
|
|
|
```tsl
|
|
echo testTable("testA"), "\n";
|
|
```
|
|
|
|
## `transFileName(dir, if_tanscode)`
|
|
|
|
声明:function
|
|
|
|
获取本地用户数据列表(仅用于自动存储在本地的STM数据)
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------------- | ------- | ---------------------- |
|
|
| `dir` | string | 字符串类型,路径 |
|
|
| `if_tanscode` | integer | 整型,用户名称是否转码 |
|
|
|
|
返回:array
|
|
|
|
### 示例
|
|
|
|
```tsl
|
|
// 获取本地用户数据列表
|
|
dir := 'C:\\Users\\xxxx\\Tinysoft\\Analyse.NET\\D254A848\\xxx\\UserDB';
|
|
echo transFileName(dir, 0), "\n";
|
|
```
|
|
|
|
## `ts_moduleInfo([n])`
|
|
|
|
声明:function
|
|
|
|
返回进程以及 TSLInterp.dll 的时间和大小信息,`n` 省略或为 0 时返回当前进程以及 TSLInterp.dll 的信息,`n` 为 1 时,在具备相应权限的情况下返回所有模块的信息
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ---- | ------- | --------------------------------------------------------- |
|
|
| `n` | integer | 可选,信息类型,省略或为 0 返回进程信息,1 返回模块信息 |
|
|
|
|
返回:array
|
|
|
|
### 示例
|
|
|
|
```tsl
|
|
echo length(tsModuleInfo()), "\n";
|
|
```
|
|
|
|
## `tsAppServer()`
|
|
|
|
声明:function
|
|
|
|
获得当前运行的模型所在的运算服务器的标识
|
|
|
|
返回:string
|
|
|
|
### 示例
|
|
|
|
```tsl
|
|
echo tsAppServer(), "\n";
|
|
```
|
|
|
|
## `tsAppServerName()`
|
|
|
|
声明:function
|
|
|
|
返回平台设置的名字,如果没有设置,默认是ip:进程路径
|
|
|
|
返回:string
|
|
|
|
### 示例
|
|
|
|
```tsl
|
|
echo tsAppServerName(), "\n";
|
|
```
|
|
|
|
## `tsCanGrid()`
|
|
|
|
声明:function
|
|
|
|
获得当前用户是否具备网格计算的权限
|
|
|
|
返回:boolean
|
|
|
|
### 示例
|
|
|
|
```tsl
|
|
echo tsCanGrid(), "\n";
|
|
```
|
|
|
|
## `user(name)`
|
|
|
|
声明:function
|
|
|
|
取得指定用户的函数对象,调用方必须拥有该用户的授权,返回对象后可通过成员函数名继续调用
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------ | ------ | -------- |
|
|
| `name` | string | 用户名 |
|
|
|
|
返回:any
|
|
|
|
### 示例
|
|
|
|
```tsl
|
|
echo length(user(userName()).FunctionName) > 0, "\n";
|
|
```
|
|
|
|
## `userConfig(section, ret_type)`
|
|
|
|
声明:function
|
|
|
|
返回用户的配置信息,section为配置名,ret_type用于指定返回的类型,0为字符串,1为数字,2为日期类型,注:此函数为特殊用途
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ---------- | ------- | ---------------- |
|
|
| `section` | string | 字符串,配置名 |
|
|
| `ret_type` | integer | 整数,返回类型 |
|
|
|
|
返回:real|string|tdatetime
|
|
|
|
### 示例
|
|
|
|
范例01:读取平台用户配置
|
|
|
|
```tsl
|
|
// section 必须替换为平台中已配置的名称
|
|
echo userConfig("example", 0), "\n";
|
|
```
|
|
|
|
## `userDataUpLoad(filedir, if_tanscode)`
|
|
|
|
声明:function
|
|
|
|
上传用户数据,输入本地用户数据的路径及名称,通过该函数可上传至服务器
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------------- | ------- | ------------------------------ |
|
|
| `filedir` | string | 字符串类型,用户数据路径及名称 |
|
|
| `if_tanscode` | integer | 整型,用户名称是否转码 |
|
|
|
|
返回:string
|
|
|
|
### 示例
|
|
|
|
```tsl
|
|
// dir为用户本地用户数据的存贮目录
|
|
filedir := 'C:\\Users\\xxxx\\Tinysoft\\Analyse.NET\\D254A848\\xxx\\UserDB\\hex_74657374646174613031.stm';
|
|
echo userDataUpLoad(filedir, 1), "\n";
|
|
```
|
|
|
|
## `userName()`
|
|
|
|
声明:function
|
|
|
|
返回当前的用户
|
|
|
|
返回:string
|
|
|
|
### 示例
|
|
|
|
范例01:读取当前平台用户
|
|
|
|
```tsl
|
|
echo userName(), "\n";
|
|
```
|