好友
阅读权限10
听众
最后登录1970-1-1
|
本帖最后由 ps1989 于 2020-5-4 23:07 编辑
[C++] 纯文本查看 复制代码 .版本 2
.支持库 commobj
.程序集 窗口程序集_启动窗口
.程序集变量 已生成组合数, 整数型
.程序集变量 需生成组合数, 整数型
.子程序 __启动窗口_创建完毕
.子程序 两字分割组合
.参数 数组参数1, 文本型, , 第1个待分割的数组,这里可以代表某个编辑框,如编辑框1的内容为"ABC"则被分割为"a""b""c"
.参数 数组参数2, 文本型, , 第2个待分割的数组,这里可以代表某个编辑框,如编辑框1的内容为"ABC"则被分割为"a""b""c"
.局部变量 文本, 快速文本对象
.局部变量 文本数组1, 文本型, , "0"
.局部变量 文本数组2, 文本型, , "0"
.局部变量 a, 整数型
.局部变量 b, 整数型
文本数组1 = 分割文本 (数组参数1, #换行符, )
文本数组2 = 分割文本 (数组参数2, #换行符, )
需生成组合数 = 取数组成员数 (文本数组1) × 取数组成员数 (文本数组2)
已生成组合数 = 0
载入 (进度窗口, _启动窗口, 假)
进度窗口.进度条1.最大位置 = 需生成组合数
.计次循环首 (取数组成员数 (文本数组1), a)
' 输出调试文本 (“A组当前循环次数” + “+” + 到文本 (a))
.计次循环首 (取数组成员数 (文本数组2), b)
已生成组合数 = 已生成组合数 + 1
进度窗口.进度条1.位置 = 已生成组合数
进度窗口.标题 = “当前生成进度” + “(” + 到文本 (已生成组合数) + “/” + 到文本 (需生成组合数) + “)”
进度窗口.标签1.标题 = 到文本 (已生成组合数 ÷ 需生成组合数 × 100) + “%”
文本.添加 (文本数组1 [a] + 文本数组2 [b] + #换行符)
输出调试文本 (“B组当前循环次数” + “+” + 到文本 (已生成组合数))
.计次循环尾 ()
.计次循环尾 ()
编辑框7.加入文本 (文本.取文本 (1, ))
信息框 (“共生成” + 到文本 (取数组成员数 (文本数组1) × 取数组成员数 (文本数组2)) + “个组合”, 0, , )
就是这条:
进度窗口.标签1.标题 = 到文本 (已生成组合数 ÷ 需生成组合数 × 100) + “%”
我把这条放在 进度窗口.标题上可以正常运行,放在标签上却只能是最后的100%时候能显示,好迷茫啊~~还有能不能不显示小数点后面的数值?
解决办法:
在最后的循环内加入命令:处理事件() 让软件暂时转让控制权,以便让 Windows 操作系统有机会处理其它的如用户键盘或鼠标输入等事件。直到操作系统处理并发送完程序队列中的所有事件后,命令才会返回。在这里的应用类似于时钟的刷新.
也可以直接用透明标签来替代普通标签,即可解决问题.
对比了下,使用命令"处理事件()"比使用透明标签更节省CPU的占用率 |
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|