|
若随机出了键盘上打不出的符号,相当于中了500万次500万。
- .版本 2
- .支持库 dp1
- .支持库 spec
- .程序集 窗口程序集_启动窗口
- .子程序 __启动窗口_创建完毕
- .局部变量 逻辑数组, 逻辑型, , "0"
- .局部变量 a, 长整数型
- 可视 = 真
- 标题 = “随机字符生成器”
- .判断循环首 (真)
- 字节集到逻辑型数组 (十六进制到字节集 (取数据摘要 (到字节集 (到文本 (a)))), 逻辑数组)
- 编辑框1.加入文本 (字符 (逻辑数组存在多少个真 (逻辑数组)))
- 延迟 (1)
- a = a + 1
- .判断循环尾 ()
- .子程序 逻辑数组存在多少个真, 整数型
- .参数 逻辑数组, 逻辑型, 数组
- .局部变量 成员计数, 整数型
- .局部变量 返回值, 整数型
- .计次循环首 (取数组成员数 (逻辑数组), 成员计数)
- .如果真 (逻辑数组 [成员计数] = 真)
- 返回值 = 返回值 + 1
- .如果真结束
- .计次循环尾 ()
- 返回 (返回值)
- .子程序 字节集到逻辑型数组
- .参数 字节集数据, 字节集
- .参数 逻辑型数组, 逻辑型, 参考 数组
- .局部变量 字节集长度, 整数型
- .局部变量 字节集计数, 整数型
- .局部变量 移位位数计数, 整数型
- .局部变量 移位后的值, 字节型
- .局部变量 逻辑数组计数, 整数型
- 字节集长度 = 取字节集长度 (字节集数据)
- 重定义数组 (逻辑型数组, 假, 字节集长度 × 8)
- .计次循环首 (字节集长度, 字节集计数)
- .变量循环首 (7, 0, -1, 移位位数计数)
- 逻辑数组计数 = 逻辑数组计数 + 1
- 移位后的值 = 左移 (1, 移位位数计数)
- 逻辑型数组 [逻辑数组计数] = 位与 (字节集数据 [字节集计数], 移位后的值) = 移位后的值
- .变量循环尾 ()
- .计次循环尾 ()
- .子程序 十六进制到字节集, 字节集
- .参数 文本, 文本型
- .局部变量 计数, 整数型
- .局部变量 返回值, 字节集
- .局部变量 计数2, 整数型
- .局部变量 文本长度, 整数型
- 文本长度 = 取文本长度 (文本)
- .如果真 (位与 (文本长度, 1) = 1)
- 输出调试文本 (“十六进制文本转字节集不得为奇数字节。”)
- 返回 ({ })
- .如果真结束
- 返回值 = 取空白字节集 (文本长度 ÷ 2)
- .变量循环首 (1, 文本长度, 2, 计数)
- 计数2 = 计数2 + 1
- 返回值 [计数2] = 二位十六进制转字节 (取文本中间 (文本, 计数, 2))
- .变量循环尾 ()
- 返回 (返回值)
- .子程序 二位十六进制转字节, 字节型
- .参数 十六进制文本, 文本型
- 十六进制文本 = 到大写 (取文本左边 (十六进制文本, 2))
- 返回 (位或 (左移 (一位十六进制到十进制 (取文本左边 (十六进制文本, 1)), 4), 一位十六进制到十进制 (取文本右边 (十六进制文本, 1))))
- .子程序 一位十六进制到十进制, 字节型
- .参数 十六进制文本, 文本型
- .局部变量 十六进制文本2, 文本型
- .局部变量 计数, 整数型
- 十六进制文本 = 到大写 (取文本左边 (十六进制文本, 1))
- 十六进制文本2 = “0123456789ABCDEF”
- .计次循环首 (16, 计数)
- .如果真 (取文本中间 (十六进制文本2, 计数, 1) = 十六进制文本)
- 返回 (计数 - 1)
- .如果真结束
- .计次循环尾 ()
- 输出调试文本 (“发现不是十六进制的字符。”)
- 返回 (0)
复制代码
|
|