playbook/docs/tsl/reference/catalog/dotnet.md

170 lines
6.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Windows/.NET 专属函数
文档类型:函数事实页
是否可直接用于生成代码:是;本页函数只按 Windows/.NET/COM 环境生成调用
遇到不确定时:先回到 [../index.md](../index.md) 重新确认平台;目标不是 Windows/.NET/COM 环境时再改查 [base.md](base.md)、[system.md](system.md) 或 [platform.md](platform.md)
这一页只列出 Windows/.NET/COM 专属函数。非 Windows/.NET/COM 环境不要从本页生成调用。
## 模块范围
- 说明Windows/.NET/COM 专属函数;包含 .NET 环境辅助函数和 Windows COM/OLE 函数
- 函数事实数12
## 基础函数
### `floatN(value, digits)`
用途:将浮点数按指定小数位数四舍五入。
参数个数2
返回值:数值
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | -------- | ---- | -------- | -------------- |
| 1 | `value` | 是 | 实数 | 输入数值 |
| 2 | `digits` | 是 | 整数 | 保留的小数位数 |
### `floatToStrEx(value, digits)`
用途:将浮点数格式化为字符串,保留指定小数位数。
参数个数2
返回值:字符串
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | -------- | ---- | -------- | -------------- |
| 1 | `value` | 是 | 实数 | 输入数值 |
| 2 | `digits` | 是 | 整数 | 保留的小数位数 |
### `formatFloatExt(value[, format])`
用途:按扩展格式输出数值字符串,支持千分位与空值处理。
参数个数1 到 2
返回值:字符串
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | -------- | ---- | ----------- | -------------------------------- |
| 1 | `value` | 是 | 数值/字符串 | 输入数值;源文档示例也传入字符串 |
| 2 | `format` | 否 | 整数 | 格式参数(可选) |
### `webZero(value)`
用途:当数值为 0 时返回空字符串,否则返回数值字符串。
参数个数1
返回值:字符串
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------- | ---- | -------- | -------- |
| 1 | `value` | 是 | 数值 | 输入数值 |
### `roundTo5(value)`
用途:将数值按 0.5 的步长进行四舍五入。
参数个数1
返回值:数值
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------- | ---- | -------- | -------- |
| 1 | `value` | 是 | 数值 | 输入数值 |
### `simpleRoundTo2(value, digits)`
用途:按指定小数位数进行四舍五入(对负数同样生效)。
参数个数2
返回值:数值
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | -------- | ---- | -------- | -------------- |
| 1 | `value` | 是 | 数值 | 输入数值 |
| 2 | `digits` | 是 | 整数 | 保留的小数位数 |
### `divValue(v1, v2)`
用途:当除数不为 0 时返回 `v1 / v2`,否则返回 `0`
参数个数2
返回值:数值
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------ | ---- | -------- | ------ |
| 1 | `v1` | 是 | 数值 | 被除数 |
| 2 | `v2` | 是 | 数值 | 除数 |
### `dataisequal(a, b)`
用途:判断两个数据是否相等。
参数个数2
返回值:布尔值
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------ | ---- | -------- | ---------- |
| 1 | `a` | 是 | 任意值 | 待比较数据 |
| 2 | `b` | 是 | 任意值 | 待比较数据 |
## 系统相关函数
### `getOleObject(prog_id, flags, out_obj)`
用途:获取已注册的 OLE/COM 对象实例(仅 Windows
参数个数3
返回值是否获取成功1/0
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | --------- | ---- | -------- | ----------------------------------- |
| 1 | `prog_id` | 是 | 字符串 | COM ProgID`Word.Application` |
| 2 | `flags` | 是 | 整数 | 选项标记(可选,通常为 `0` |
| 3 | `out_obj` | 是 | 任意值 | 输出对象变量 |
### `createComObject(guid_or_prog_id, out_obj)`
用途:创建 Windows COM 对象实例(仅 Windows COM 环境)。
参数个数2
返回值是否创建成功1/0
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ----------------- | ---- | -------- | -------------------------------------------------------------------------------------------------- |
| 1 | `guid_or_prog_id` | 是 | 字符串 | COM ProgID 或带花括号的 CLSID例如 `Word.Application``{000209FF-0000-0000-C000-000000000046}` |
| 2 | `out_obj` | 是 | 任意值 | 输出对象变量;调用前通常先设为 `nil` |
生成规则:
- 函数名使用 `CreateComObject`;不要写成 `CreateComObj`
- 必须使用双参数形式,把 COM 对象写入第二个输出变量;不要生成单参调用。
- 仅在 Windows COM 环境生成;目标机器必须安装并注册对应 COM 组件,位数、权限和 Office 自动化环境必须匹配。
- 如果创建的是 Word COM 对象,用完后按对象能力调用 `obj.Quit()`,避免留下隐藏的 `WINWORD.EXE`
- `guid_or_prog_id` 可传 ProgID也可传带花括号 CLSID不要传不带花括号的裸 CLSID 字符串。
### `ifThen3(left, right, greater_value, equal_value, less_value)`
用途:比较两个值,返回大/等/小对应结果。
参数个数5
返回值:对应比较结果的值
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | --------------- | ---- | -------- | --------------------- |
| 1 | `left` | 是 | 任意值 | 左值 |
| 2 | `right` | 是 | 任意值 | 右值 |
| 3 | `greater_value` | 是 | 任意值 | `left > right` 时返回 |
| 4 | `equal_value` | 是 | 任意值 | `left = right` 时返回 |
| 5 | `less_value` | 是 | 任意值 | `left < right` 时返回 |
### `safeEval(expr)`
用途:安全执行表达式或表达式字符串,执行失败返回 nil。
参数个数1
返回值:表达式结果或 nil
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------ | ---- | -------- | ------------------------------ |
| 1 | `expr` | 是 | 字符串 | 表达式(@)或表达式字符串(& |