170 lines
6.8 KiB
Markdown
170 lines
6.8 KiB
Markdown
# 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` | 是 | 字符串 | 表达式(@)或表达式字符串(&) |
|