本帖最后由 Zh.Long 于 2016-7-21 22:54 编辑
易语言开发的东西,出bug再来说。
MD5:8B47A37128F0284C7C0CBCF6721FCEE6
[失效链接]
百度云失效,不知道为什么一分享就封 - -
EB盘下载点: http://1000eb.com/1krwf
[/失效链接]
16楼链接(压缩包转图片,下载后把.png改为.rar)
链接: https://pan.baidu.com/s/1cqlXqI 密码: 52pj
https://pan.baidu.com/s/1cqlXqI#52pj
关键源码:.子程序 进制_转换, 文本型, , 可以将从2进制到36进制的数值进行转换(不支持小数和负数) 失败返回空
.参数 被转换文本, 文本型
.参数 被转换进制, 整数型, 可空
.参数 转换的进制, 整数型, 可空
.局部变量 欲转换文本, 文本型
.局部变量 临时文本, 文本型
.局部变量 临时数值, 长整数型
.局部变量 计次变量, 整数型
.如果真 (是否为空 (被转换进制))
被转换进制 = 10
.如果真结束
.如果真 (是否为空 (转换的进制))
转换的进制 = 16
.如果真结束
.如果真 (被转换进制 = 转换的进制)
返回 (被转换文本)
.如果真结束
.如果真 (被转换进制 < 2 或 转换的进制 < 2 或 被转换进制 > 36 或 转换的进制 > 36)
返回 (“”)
.如果真结束
被转换文本 = 到大写 (到半角 (被转换文本))
.计次循环首 (取文本长度 (被转换文本), 计次变量)
临时文本 = 取文本中间 (被转换文本, 计次变量, 1)
.如果真 (寻找文本 (取文本左边 (“0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ”, 被转换进制), 临时文本, , 假) = -1)
跳出循环 ()
.如果真结束
.如果真 (计次变量 = 取文本长度 (被转换文本))
临时文本 = “”
.如果真结束
.计次循环尾 ()
.如果真 (临时文本 ≠ “”)
返回 (“”)
.如果真结束
.计次循环首 (取文本长度 (被转换文本), 计次变量)
临时数值 = (寻找文本 (“0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ”, 取文本中间 (被转换文本, 计次变量, 1), , 真) - 1) × 求次方 (被转换进制, 取文本长度 (被转换文本) - 计次变量) + 临时数值
.计次循环尾 ()
.判断循环首 (临时数值 > 转换的进制 - 1)
欲转换文本 = 取文本中间 (“0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ”, 到数值 (到文本 (临时数值 % 转换的进制)) + 1, 1) + 欲转换文本
临时数值 = 取整 (临时数值 ÷ 转换的进制)
.判断循环尾 ()
欲转换文本 = 取文本中间 (“0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ”, 临时数值 + 1, 1) + 欲转换文本
返回 (欲转换文本)
|