非接触IC卡(M1卡)曼彻斯特正码转成其它编码格式
.版本 2
.支持库 eCalc
.程序集 窗口程序集_启动窗口
.程序集变量 b1, 文本型
.程序集变量 b2, 文本型
.程序集变量 取中, 文本型
.程序集变量 取右, 文本型
.程序集变量 i, 整数型
.程序集变量 i2, 整数型
.程序集变量 i3, 整数型
.程序集变量 l, 整数型
.程序集变量 l2, 整数型
.程序集变量 l3, 整数型
.程序集变量 qyzs, 文本型
.程序集变量 qyzs2, 文本型
.子程序 _按钮1_被单击
b1 = 编辑框1.内容
取中 = 取文本中间 (b1, 3, 2)
取右 = 取文本右边 (b1, 4)
qyzs = 十六进制到十进制 (取右)
编辑框2.内容 = 取文本右边 (b1, 2) + 取文本中间 (b1, 5, 2) + 取文本中间 (b1, 3, 2) + 取文本左边 (b1, 2)
qyzs2 = 十六进制到十进制 (取文本右边 (编辑框2.内容, 4))
编辑框3.内容 = 十六进制到十进制 (b1)
编辑框4.内容 = 十六进制到十进制 (编辑框2.内容)
.计次循环首 (5, i)
l = 取文本长度 (qyzs)
.如果真 (l < 5)
qyzs = “0” + qyzs
.如果真结束
.计次循环尾 ()
编辑框5.内容 = 十六进制到十进制 (取中) + qyzs
.计次循环首 (5, i2)
l2 = 取文本长度 (qyzs2)
.如果真 (l2 < 5)
qyzs2 = “0” + qyzs2
.如果真结束
.计次循环尾 ()
编辑框6.内容 = 十六进制到十进制 (取文本中间 (编辑框2.内容, 3, 2)) + qyzs2
编辑框7.内容 = 编辑框1.内容
编辑框1.内容 = “”
.子程序 十六进制到十进制, 文本型
.参数 十六进制文本, 文本型
.局部变量 循环次数, 整数型
.局部变量 代码, 整数型
.局部变量 临时1, 大数
.局部变量 临时2, 大数
.局部变量 结果, 大数
.局部变量 乘方, 大数
.局部变量 进制, 大数
.局部变量 文本, 文本型
进制.导入数字 (16)
文本 = 到小写 (到半角 (十六进制文本))
.计次循环首 (取文本长度 (文本), 循环次数)
代码 = 取代码 (取文本中间 (到大写 (文本), 取文本长度 (文本) - 循环次数 + 1, 1), )
临时1.导入数字 (代码 - 55)
临时2.导入数字 (代码 - 48)
乘方.导入数字 (1)
.计次循环首 (循环次数 - 1, )
乘方 = 乘方.乘 (进制)
.计次循环尾 ()
结果 = 选择 (代码 ≥ 65 且 代码 ≤ 70, 结果.加 (临时1.乘 (乘方)), 结果.加 (临时2.乘 (乘方)))
.计次循环尾 ()
返回 (结果.导出文本 ())
|