|
发表于 2023-6-22 12:55:12
|
显示全部楼层
湖南省邵阳市
本帖最后由 ulwxfiaw 于 2023-6-22 13:01 编辑
将大佬这个代码做成模块,方便后续调用。怎么报错了。错误(10044): 不能将“空白型”数据转换到“文本型”数据。.版本 2
.支持库 spec
.子程序 ***号验证, 文本型, 公开,
.参数 参_***号, 文本型
.局部变量 ***号_str, 文本型, , "0"
.局部变量 ***号_int, 整数型, , "0"
.局部变量 i, 整数型
.局部变量 a, 整数型
.局部变量 余数, 整数型
.局部变量 十八位结果, 文本型
.局部变量 性别, 文本型
.局部变量 json, 类_json
.局部变量 地区号, 文本型
.局部变量 输出年月, 文本型
.局部变量 输出性别, 文本型
.局部变量 输出地区, 文本型
.局部变量 返回结果, 文本型
.如果真 (取文本长度 (参_***号) ≠ 18)
信息框 (“只支持18位新***验证~”, 0, “提示”, )
返回 ()
.如果真结束
文本_逐字分割 (参_***号, ***号_str)
a = 取数组成员数 (***号_str)
重定义数组 (***号_int, 假, a)
.计次循环首 (a, i)
***号_int = 到整数 (***号_str )
.计次循环尾 ()
余数 = (***号_int [1] × 7 + ***号_int [2] × 9 + ***号_int [3] × 10 + ***号_int [4] × 5 + ***号_int [5] × 8 + ***号_int [6] × 4 + ***号_int [7] × 2 + ***号_int [8] × 1 + ***号_int [9] × 6 + ***号_int [10] × 3 + ***号_int [11] × 7 + ***号_int [12] × 9 + ***号_int [13] × 10 + ***号_int [14] × 5 + ***号_int [15] × 8 + ***号_int [16] × 4 + ***号_int [17] × 2) % 11
.判断开始 (余数 = 0)
十八位结果 = “1”
.判断 (余数 = 1)
十八位结果 = “0”
.判断 (余数 = 2)
十八位结果 = “X”
.判断 (余数 = 3)
十八位结果 = “9”
.判断 (余数 = 4)
十八位结果 = “8”
.判断 (余数 = 5)
十八位结果 = “7”
.判断 (余数 = 6)
十八位结果 = “6”
.判断 (余数 = 7)
十八位结果 = “5”
.判断 (余数 = 8)
十八位结果 = “4”
.判断 (余数 = 9)
十八位结果 = “3”
.判断 (余数 = 10)
十八位结果 = “2”
.默认
十八位结果 = “错误”
.判断结束
' 调试输出 (十八位结果)
.如果真 (取文本右边 (参_***号, 1) ≠ 十八位结果)
' 标签4_提示.文本颜色 = #红色
信息框 (“***号有误,最后一位为:” + #换行符 + #换行符 + “ [ ” + 十八位结果 + “ ]”, 0, “提示”, )
' 标签4_提示.标题 = “***号有误,最后一位为:” + #换行符 + #换行符 + “ [ ” + 十八位结果 + “ ]”
返回 ()
.如果真结束
' 出生年月
输出年月 = 取文本中间 (参_***号, 7, 8)
' 性别判断
性别 = 取文本中间 (参_***号, 17, 1)
.如果 (到整数 (性别) % 2 > 0)
输出性别 = “男”
.否则
输出性别 = “女”
.如果结束
' 地区判断
地区号 = “ y” + 取文本左边 (参_***号, 6)
json.解析 (#地区数据, , )
输出地区 = json.取通用属性 (地区号, )
' cha询号码正确
' 标签4_提示.文本颜色 = #青绿
' 标签4_提示.标题 = #换行符 + “输入正确”
信息框 (“***正确”, 0, “提示”, )
返回结果 = 输出地区 + “|” + 输出年月 + “|” + 输出性别
调试输出 (返回结果)
返回 (返回结果)
|
|