feat(skills): add tsl api reference skill

Bundle the TSL API index and markdown references under the skill, route TSL docs to use it, and update the codegen index generator to maintain the bundled data.
This commit is contained in:
csh
2026-07-07 16:36:15 +08:00
parent 4cd6b9410f
commit e1f7ce052c
267 changed files with 185908 additions and 11996 deletions
@@ -0,0 +1,312 @@
# 运行时 / 系统与进程
### `sysdbfread(alias, file_name, value, is_col_info)`
读取本地DBF格式数据文件的内容,或者读取本地DBF格式数据文件的结构定义。
| 参数 | 类型 | 说明 |
| ------------- | ------ | ---------------------- |
| `alias` | string | 字符串类型,目录别名。 |
| `file_name` | bool | 字符串类型,文件名称。 |
| `value` | string | object |
| `is_col_info` | bool | object |
返回:bool
### `sysdbfwrite(alias, file_name, value, col_info)`
将数据导出为DBF的格式的数据文件。
| 参数 | 类型 | 说明 |
| ----------- | ------ | ---------------------------------------------------------------------------- |
| `alias` | string | 字符串类型,目录别名。 |
| `file_name` | array | 字符串类型,文件名称。 |
| `value` | string | 输出的数据内容,必须有字符串列名。 |
| `col_info` | array | 数组,数据导出的结构定义,若缺省则和exportfile的行为一致,采用自动判别类型。 |
返回:bool
### `sysErrorMessage(code)`
返回指定代码表示的系统错误信息。
| 参数 | 类型 | 说明 |
| ------ | ---- | -------------- |
| `code` | int | 整数,提示代码 |
返回:string
### `sysexec(prog, cmdline, startupdir, wait, code, waitms, return_value)`
创建子进程执行操作系统命令。在指定目录下使用指定文件执行指定命令。指定目录可以为nil;指定命令可以为字符串,比如”py -V”,也可以为数组,比如array(“py”,”-V”)。 注:本定义方式功能只在新一代客户端版本中支持。 旧版本中用户请参考函数原定义说明:FAQ:SysExec 另外,关于code中返回的退出码(返回码),即为子进程终止时通过SysTerminate传递出来的退出码,当无此命令时,默认为0。
| 参数 | 类型 | 说明 |
| -------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `prog` | string | 字符串,执行命令的文件所在路径。 |
| `cmdline` | string | 字符串或数组,命令行命令。 例如:tsl abcd.tsl,也可以分割的数组,例如array(“tsl”,”abcd.tsl”) |
| `startupdir` | string | NIL或字符串,执行命令时所处的目录路径。 |
| `wait` | bool | object |
| `code` | array | 数值或数组,输出参数,进程的退出码。当存在管道输出且采用阻塞方式运行进程时, code为数组,下标”code”为返回码,”out”下标是运行的进程的标准输出里输入的内容。 另,在阻塞模式下,当等待超时的情况下,也还可以使用SysexecReadpipe读取后续输出的信息。 |
| `waitms` | int | 正整数,可选参数,等待阻塞的毫秒数。 |
| `return_value` | any | 数值,进程句柄。 |
返回:int
### `sysexecreadpipe(process_handle)`
获得指定进程所在管道的输出内容。参数缺省时,获得默认管道的输出内容。 在阻塞式运行sysexec的情况下,可以直接获得内容,在非阻塞式运行外部进程的时候,需要多次进行循环读取输出。
| 参数 | 类型 | 说明 |
| ---------------- | ---- | -------------------------- |
| `process_handle` | any | 数值,可选参数,进程句柄。 |
返回:string
### `sysexecsetenvs(envs, addsysenv)`
重新设置子进程的环境变量,使得子进程与主进程的环境变量不一样,应用于Sysexec创建的子进程。不设置的情况下子进程的环境变量与主进程一致。
| 参数 | 类型 | 说明 |
| ----------- | ------- | ---- |
| `envs` | array | nil |
| `addsysenv` | 0\|1\|2 | 1\\ |
返回:int
### `sysExecWritePipe(content)`
向指定进程所在管道写入输入内容。参数缺省时,向默认管道写入输入内容。 管道的长度是有限的,当管道长度被占用了,需要等待空间被释放后再进行(即时读取管道信息可以被释放),即它是一个阻塞式的过程。
| 参数 | 类型 | 说明 |
| --------- | ------ | ----------------------------------------------------- |
| `content` | string | 字符串,输入内容。比如输入”=quit\r\n”可以退出当前进程 |
返回:int
### `sysGetFuncdepends(fun, flag, cfuninfo, binclassinfo)`
获取目标函数或类的依赖关系。 可以用于查找用户函数、公用函数与本地函数的依赖,但无法查找系统函数。当查找本地函数时,函数文件后缀必须是.tsf。 服务器执行时,由于权限问题,返回结果可能并不完整。用户可以使用本地执行或者rdo2执行来获取完整的依赖信息。
| 参数 | 类型 | 说明 |
| -------------- | ---------------------------------------------- | ------------------------------------------------------------------------------ |
| `fun` | TFUNCTION | 查找依赖的函数或者类 |
| `flag` | int | 整型,缺省值为0,查找的依赖关系类型如下(若多选时,可以将相应取值相加后传入): |
| `cfuninfo` | 依赖不检查子函数,仅通过函数调用等规则查找依赖 | 数组,输出值,返回依赖的二进制函数信息 |
| `binclassinfo` | 显示所有被依赖的子函数,缺省只显示主函数 | 数组,输出值,返回依赖的二进制类信息 |
返回:funInfo
### `sysGetPidOfCom(obj)`
获得COM对象对应的进程ID,由于com的限制,仅当进程ID<65535才有效,一旦返回值为65535表示进程ID超过65535。
| 参数 | 类型 | 说明 |
| ----- | ------ | --------- |
| `obj` | ComObj | Com对象。 |
返回:int
### `sysGetProcessCmdLine(pid, return_value)`
获取指定进程的执行命令行
| 参数 | 类型 | 说明 |
| -------------- | ------ | ---------------------------------------------------- |
| `pid` | int | 整数,进程ID |
| `return_value` | string | 获取成功,返回指定进程的执行命令;否则,返回空字符串 |
返回:string
### `sysGetProcessCmdLinew(pid, return_value)`
获取指定进程的cmd执行命令,返回结果为宽字节字符串
| 参数 | 类型 | 说明 |
| -------------- | ---- | --------------------------------------------------------------------------- |
| `pid` | int | 整数,进程ID |
| `return_value` | int | 获取成功,返回指定进程的cmd执行命令,格式为宽字节字符串;否则,返回空字符串 |
返回:string
### `sysGetProcessNamePath(pid, return_value)`
获取指定进程路径,若无法获得路径返回进程的名称
| 参数 | 类型 | 说明 |
| -------------- | ------ | ---------------------------------------------------------------------------- |
| `pid` | int | 整数,进程ID |
| `return_value` | string | 获取成功,返回指定进程路径,若无法获得路径返回进程的名称;否则,返回空字符串 |
返回:string
### `sysGetProcessNamePathw(pid, return_value)`
获取指定进程路径,返回结果为宽字节字符串
| 参数 | 类型 | 说明 |
| -------------- | ---- | ------------------------------------------------------------------ |
| `pid` | int | 整数,进程ID |
| `return_value` | int | 获取成功,返回指定进程路径,格式为宽字节字符串;否则,返回空字符串 |
返回:string
### `sysGetProcessPriority(pri, pid, return_value)`
获取进程优先级
| 参数 | 类型 | 说明 |
| -------------- | ---- | ------------------------------------------------------ |
| `pri` | int | 变参,整数,进程优先级 |
| `pid` | int | 整数,可选参数,进程ID。未指定时默认获取当前线程优先级 |
| `return_value` | int | 返回值为0,获取成功;否则,获取失败 |
返回:int
### `sysGetThreadName(tid, return_value)`
获取线程名称
| 参数 | 类型 | 说明 |
| -------------- | ------ | ---------------------------------------------------- |
| `tid` | int | 整数,可选参数,线程ID。未指定时默认获取当前线程名称 |
| `return_value` | string | 获取成功,返回线程名称;否则,返回空字符串 |
返回:string
### `sysGetThreadPriority(pri, tid, return_value)`
获取线程优先级
| 参数 | 类型 | 说明 |
| -------------- | ---- | ------------------------------------------------------ |
| `pri` | int | 变参,整数,线程优先级 |
| `tid` | int | 整数,可选参数,线程ID。未指定时默认获取当前线程优先级 |
| `return_value` | int | 返回值为0,获取成功;否则,获取失败 |
返回:int
### `sysGetThreads(pid, return_value)`
获取进程内的线程列表
| 参数 | 类型 | 说明 |
| -------------- | ----- | ------------------------------------------------------------ |
| `pid` | int | 整数,可选参数,进程ID。未指定时默认获取当前进程内的线程列表 |
| `return_value` | array | 获取成功,返回线程ID列表;否则,返回空数组 |
返回:array
### `sysHandleOfPid(pid, rights, inherithandle, return_value)`
Windows上获取进程id对应的句柄,Linux上获取指定文件ID的复制ID。得到的句柄可用函数FAQSysCloseHandle进行关闭。
| 参数 | 类型 | 说明 |
| --------------- | ---- | ---------------------------------------------------------------------------------------------------------------------- |
| `pid` | int | 整数,进程ID |
| `rights` | int | 整数,可选参数,设置进程句柄权限,Linux上无效。常见的权限设置值如下: 更多说明,可参考微软官方文档:处理安全和访问权限 |
| `inherithandle` | bool | 布尔值,可选参数,是否继承,Linux上无效 |
| `return_value` | 16 | 获取成功,返回进程句柄;否则,返回0 |
返回:IntPtr\|int
### `sysKill(pid, code, return_value)`
终止进程。在WINDOWS上,和FAQSysTerminate不同之处是,SysTerminate参数为进程句柄,SysKill参数是进程ID。LINUX上两者一致
| 参数 | 类型 | 说明 |
| -------------- | ---- | ---------------------------------- |
| `pid` | int | 整数,进程ID |
| `code` | int | 整数,可选参数,终止进程返回的代码 |
| `return_value` | bool | object |
返回:bool
### `sysPidOfHandle(handle, return_value)`
根据进程句柄获取进程ID。在Linux上,返回和进程句柄值相同的整数
| 参数 | 类型 | 说明 |
| -------------- | ---- | --------------------------------- |
| `handle` | int | 进程句柄 |
| `return_value` | int | 获取成功,返回进程ID;否则,返回0 |
返回:int
### `sysPidOfTid(tid, return_value)`
获取线程所属进程ID
| 参数 | 类型 | 说明 |
| -------------- | ---- | --------------------------------- |
| `tid` | int | 整数,线程ID |
| `return_value` | int | 获取成功,返回进程ID;否则,返回0 |
返回:int
### `sysPPid(pid, return_value)`
获得进程的父进程ID
| 参数 | 类型 | 说明 |
| -------------- | ---- | ---------------------------------------------------------- |
| `pid` | int | 整数,可选参数,进程ID。未指定时默认获取当前进程的父进程ID |
| `return_value` | int | 获取成功,返回父进程ID;否则,返回0 |
返回:int
### `sysSetProcessPriority(pri, pid, return_value)`
设置进程优先级
| 参数 | 类型 | 说明 |
| -------------- | ---- | ------------------------------------------------------ |
| `pri` | int | 整数,进程优先级 |
| `pid` | int | 整数,可选参数,进程ID。未指定时默认设置当前进程优先级 |
| `return_value` | int | 返回值为0,设置成功;否则,设置失败 |
返回:int
### `sysSetThreadName(name, tid, return_value)`
设置线程名称
| 参数 | 类型 | 说明 |
| -------------- | ------ | ---------------------------------------------------- |
| `name` | string | 字符串,要设置的名称 |
| `tid` | int | 整数,可选参数,线程ID。未指定时默认设置当前线程名称 |
| `return_value` | int | 返回值为0,设置成功;否则,设置失败 |
返回:int
### `sysSetThreadPriority(pri, tid, return_value)`
设置线程优先级
| 参数 | 类型 | 说明 |
| -------------- | ---- | ------------------------------------------------ |
| `pri` | int | 线程优先级 |
| `tid` | int | 可选参数,线程ID。未指定时默认设置当前线程优先级 |
| `return_value` | int | 返回值为0,设置成功;否则,设置失败 |
返回:int
### `syssettsllibpath(path_list)`
设置函数库查找路径(支持分号分隔的多个目录)。
| 参数 | 类型 | 说明 |
| ----------- | ----- | -------------------------- |
| `path_list` | array | 路径列表字符串(分号分隔) |
返回:string
### `sysWaitForSingleObject(object, wait_ms)`
等待占有一个对象,例如互斥对象。支持windows和linux的进程
| 参数 | 类型 | 说明 |
| --------- | ---- | ------------------------------------ |
| `object` | int | 整数,对象名柄 |
| `wait_ms` | int | 整数,等待的毫秒数,-1则为永远等待。 |
返回:int