飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 8177|回复: 12

[Delphi] 第一个Delphi算法注册机

[复制链接]
  • TA的每日心情
    开心
    昨天 16:27
  • 签到天数: 1861 天

    [LV.Master]伴坛终老

    发表于 2007-12-7 11:14:31 | 显示全部楼层 |阅读模式
    程序注册算法的方式为:
    读入注册名和注册码,注册码的长度应该为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位;
                   
    然后这个新生成的11位长度的字符串,取该新字符串的前5位(即上面运算的5个结果),与字符串 PhoXo 比较,只要两者相等,便注册成功了!
    Delphi源码为:(支持中文)

    procedure TForm1.Button1Click(Sender: TObject);
    var
      sName,sTemp1,sTemp2:string;
      iNameLength:integer;
      i:integer; //控制循环次数
    begin
      sName:=Edit1.Text;//取用户名。
      iNameLength:=Length(sName); //取用户名长度
      sTemp1:=' ';
      if (iNameLength<>11) or (sName[6]<>'-') then
       begin
          //不在范围内提示假注册码不合法
          MessageBox(Form1.handle,'假注册码不合法,请输入11位假注册码,第6位必有为"-"!','友好提示!',MB_OK);
          exit;
        end;
      for i:=1 to 6 do
      sTemp2:=sTemp2+sName;
       for i:=1 to 5 do
        begin
          case i of     //注册码第7,8,9,10,11位依次和字符串PhoXo运算
            1: sTemp1 :=sTemp1+ chr(ord(sName) + ord('P')-$30);
            2: sTemp1:= sTemp1+chr(ord(sName) + ord('h')-$30);
            3: sTemp1 :=sTemp1+ chr(ord(sName) + ord('o')-$30 );
            4: sTemp1 :=sTemp1+ chr($30 - ord(sName) + ord('X'));
            5: sTemp1 :=sTemp1+ chr(ord(sName) + ord('o')-$30 );
          end;
      end;
      Edit2.Text:=sTemp2+sTemp1;
      end;

    end.
    1.GIF
    2.GIF
    3.GIF
    4.GIF
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-12-7 12:57:50 | 显示全部楼层
    /:L 你怎么可以这样....还没开课,作品都出来了..
    PYG19周年生日快乐!
  • TA的每日心情
    慵懒
    2019-2-17 18:27
  • 签到天数: 33 天

    [LV.5]常住居民I

    发表于 2007-12-10 17:08:07 | 显示全部楼层
    还看不懂,如果楼主把全部的的注释加上去就好了/:good
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-12-16 12:17:07 | 显示全部楼层
    /:L不懂~~
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-12-16 18:41:59 | 显示全部楼层
    有些茫然,我感觉自己太笨了,加油学习!!
    PYG19周年生日快乐!
  • TA的每日心情

    2021-7-27 16:33
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2008-5-15 11:47:51 | 显示全部楼层
    真的蛮难的,努力学习。
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2008-6-3 22:54:52 | 显示全部楼层
    很好哦 这样可以学到好几点知识呢!!谢谢分享哈!
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2008-8-14 12:03:01 | 显示全部楼层
    顶一下·····
    PYG19周年生日快乐!
  • TA的每日心情
    无聊
    2019-5-24 19:15
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    发表于 2008-8-31 18:56:43 | 显示全部楼层
    不懂啊,太深奥/:018
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2009-7-31 10:29:35 | 显示全部楼层
    让俺看晕了,不知道你的程序是怎么写的。
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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