飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 6464|回复: 2

易语言 怎样将十六进制转换为字符

[复制链接]
  • TA的每日心情
    开心
    昨天 14:19
  • 签到天数: 1885 天

    [LV.Master]伴坛终老

    发表于 2007-12-6 16:51:48 | 显示全部楼层 |阅读模式
    今天看了PhoXo的算法分析,写注册机出了问题,不能将十六进制转换为字符
    要将图“真注册码”"-"后的十六进制转换为字符,才是真注册码
    5770775374转换为字符为WpwSt,真码为78855-WpwSt
    请高手指点:怎样在程序中实现转换

    注册算法的方式为:
    读入注册名和注册码,注册码的长度应该为11位,且第6位必须为‘-’字符即是:
    将:【注册码第 7位的ASCII值 - 注册码第1位的ASCII值 + $30】的结果 重新写回 注册码的第1位;
    将:【注册码第 8位的ASCII值 - 注册码第2位的ASCII值 + $30】的结果 重新写回 注册码的第2位;
    将:【注册码第 9位的ASCII值 - 注册码第3位的ASCII值 + $30】的结果 重新写回 注册码的第3位;
    将:【注册码第10位的ASCII值 + 注册码第4位的ASCII值 - $30】的结果 重新写回 注册码的第4位;
    将:【注册码第11位的ASCII值 - 注册码第5位的ASCII值 + $30】的结果 重新写回 注册码的第5位;

    易语言源码
    .版本 2

    .局部变量 i, 整数型
    .局部变量 name, 文本型
    .局部变量 name_len, 整数型
    .局部变量 regname, 文本型
    .局部变量 table, 文本型
    .局部变量 ma, 文本型
    .局部变量 a, 字节型
    .局部变量 b, 字节型
    .局部变量 ma1, 整数型
    .局部变量 ma2, 整数型
    .局部变量 c, 整数型

    name = 编辑框1.内容
    name_len = 取文本长度 (编辑框1.内容)
    table = “PhoXo”
    .如果 (name_len = 11)
        i = i + 1
        .判断循环首 (i ≤ 5)
            a = 取代码 (name, i)
            b = 取代码 (table, i)
            .如果 (i = 4)
                ma1 = 到数值 (b) + 48 - 到数值 (a)
            .否则
                ma1 = 到数值 (b) - 48 + 到数值 (a)

            .如果结束



            ma = 到文本 (ma) + 到文本 (取十六进制文本 (ma1))
            i = i + 1
        .判断循环尾 ()
        regname = 取文本左边 (name, 5) + “-” + 到文本 (ma)
        编辑框2.内容 = regname

    .否则
        信息框 (“请输入11位数注册码!”, 0, “友好提示”)
    1.GIF
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-12-7 00:06:39 | 显示全部楼层
    易语言中的基本数据类型有6种,包括数值型、逻辑型、日期时间型、文本型、字节集型、子程序指针型。
        而易语言中常用的数据类型间的转换的命令有:
    “到数值()”,“到文本()”,“到字节集()”,“从字节集转换()”,“到时间()”。其中的“到字节集()”命令,用来将一个通用型数据转换到字节集型。而“从字节集转换()”命令,用来将一个字节集型的数据转换成通用型数据。
        在易语言知识库两周年版本中,没有搜索到“从字节集转换()”命令。不过有“取字节集数据(字节集 欲取出其中数据的字节集,整数型 欲取出数据的类型,[整数型 起始索引位置])”
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-12-16 07:57:59 | 显示全部楼层
    看不明白,说详细点OK
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表