| 子程序名 | 返回值类型 | 公开 | 备 注 | ||||
| 运算_括号计算 | 文本型 | 括号计算 | |||||
| 参数名 | 类 型 | 参考 | 可空 | 数组 | 备 注 | ||
| Text | 文本型 | ||||||
| 变量名 | 类 型 | 静态 | 数组 | 备 注 | ||
| i | 整数型 | |||||
| Zk | 整数型 | "0" | 左括号位置数组 | |||
| ZkNum | 整数型 | Zk成员数量 | ||||
| SigText | 文本型 | 单个文本 | ||||
| Asc | 整数型 | 单个文本的Asc码 | ||||
| SwText | 文本型 | 括号内文本 | ||||
| SwReText | 文本型 | 括号内计算后文本 | ||||
| TempText | 文本型 | 替换后的结果 | ||||
i = 1
判断循环首 (i ≤ 取文本长度 (TempText))
SigText = 取文本中间 (TempText, i, 1)
判断 (SigText = “(”)
加入成员 (Zk, i)
i = i + 1
判断 (SigText = “)”)
ZkNum = 取数组成员数 (Zk)

如果 (ZkNum > 0) ' 是否存在左括号

SwText = 取文本中间 (TempText, Zk [ZkNum] + 1, i - Zk [ZkNum] - 1) ' 取出括号内文本

SwReText = 运算_内部计算 (SwText) ' 计算括号内文本


如果真 (SwReText = “”) ' 失败返回空文本


返回 (“”)

TempText = 文本替换 (TempText, Zk [ZkNum], 取文本长度 (“(” + SwText + “)”), SwReText)

i = Zk [ZkNum] + 1

删除成员 (Zk, ZkNum, )

TempText = 文本替换 (TempText, i, 1, ) ' 去掉多余右括号



判断 (Asc = 92)
TempText = 文本替换 (TempText, i, 1, “\”)
i = i + 1
Asc = 取代码 (SigText, )

判断 ( (Asc < 46 或 Asc > 57) 且 Asc ≠ 42 且 Asc ≠ 43 且 Asc ≠ 45 且 Asc ≠ 92 且 Asc ≠ 94) ' 去掉非法字符

TempText = 文本替换 (TempText, i, 1, )

i = i + 1




判断循环尾 ()ZkNum = 取数组成员数 (Zk)
如果真 (ZkNum > 0) ' 去掉多余左括号
计次循环首 (ZkNum, i)
TempText = 文本替换 (TempText, Zk [ZkNum - i + 1], 1, ) ' 从最后一个开始替换
计次循环尾 ()返回 (运算_内部计算 (TempText))
词条作者信息 使用例程
