鱼C论坛

 找回密码
 立即注册
查看: 2945|回复: 5

请问这段代码怎么改成

[复制链接]
发表于 2014-3-2 09:50:42 | 显示全部楼层 |阅读模式
2鱼币
请问这段代码怎么改成如果gc_id=10之后就提示已经超限,确定后直接退出?
不要在到了gc_id=10后让其注册?

procedure TForm1.FormCreate(Sender: TObject);
    var
    re_id:integer;
    registerTemp : TRegistry;
    inputstr,get_id:string;
    dy,clickedok:boolean;
begin
  dy:=false;
  registerTemp := TRegistry.Create;
  with registerTemp do
    begin
    RootKey:=HKEY_LOCAL_MACHINE
    if OpenKey('Software\Microsoft\Windows\CurrentVersion\Mark',True) then

    begin
     if valueexists('gc_id') then
      begin
              re_id:=readinteger('gc_id');
              if (re_id<>0) and (re_id<>10) then

          begin
            re_id:=re_id+1;
            Writeintger('gc_id',re_id);
          end;
          if re_id=10 then
          dy:=True;
      end
     else
         Writeinteger('gc_id',9);
    if dy then
      begin
        Close;

        clickedok:=InputQuery('您使用的是注册软件,请输入注册码:',' ',inputstr);
        if clickedok then
        begin
            get_id:=intostr(57098758*2);
            if get_id=inputstr then
             begin
                Writeinteger('gc_id',0);
                CloseKey;
                Free;
             end
            else
            begin
                application.messagebox('注册码错误!请与作者联系!','警告框',mb_ok);
                CloseKey;
                Free;
                application.terminate;
            end;
        end
        else
        begin
            application.messagebox('请与管理员联系,使用注册软件!','警告框',mb_ok);
            CloseKey;
            Free;
            application.terminate;
        end;
      end;
     end;
   end;

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-3-2 13:06:13 | 显示全部楼层
本帖最后由 comeheres 于 2014-3-2 23:04 编辑
procedure TForm1.FormCreate(Sender: TObject);
var
  re_id: integer;
  registerTemp: TRegistry;
  inputstr, get_id: string;
  clickedok: boolean;
  procedure zhuce();
  begin
    re_id := re_id + 1;
    clickedok := InputQuery('软件未注册,还剩' + IntToStr(11 - re_id) + '次试用机会',
      '输入注册码:', inputstr);
    if clickedok then
    begin
      get_id := IntToStr(57098758*2);
      if get_id = inputstr then
      begin
        registerTemp.Writeinteger('gc_id', 0);
        MessageBox(Handle, '注册成功,欢迎使用本软件', '恭喜', mb_ok);
      end
      else
      begin
        MessageBox(Handle, '注册码错误!请与作者联系!', '提示', mb_ok + MB_ICONHAND);
        registerTemp.Writeinteger('gc_id', re_id);
      end;
    end
    else
    begin
      MessageBox(Handle, '请与作者联系,欢迎购买软件!', '提示', mb_ok + MB_ICONEXCLAMATION);
      registerTemp.Writeinteger('gc_id', re_id);
    end;
  end;
begin
  registerTemp := TRegistry.Create;
  with registerTemp do
  begin
    RootKey := HKEY_LOCAL_MACHINE;
    if OpenKey('Software\Microsoft\Windows\CurrentVersion\Mark', True) then
    begin
      if valueexists('gc_id') then
      begin
        re_id := readinteger('gc_id');
        if (re_id > 0) and (re_id < 10) then
        begin
          zhuce;
        end
        else if re_id >= 10 then
        begin
          MessageBox(Handle, '10次试用机会已用完,请联系作者购买!', '警告', mb_ok);
          CloseKey;
          Free;
          application.terminate;
        end;
      end
      else
      begin
        re_id := 0;
        zhuce;
      end;
    end;
    CloseKey;
    Free;
  end;
end;
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-3-4 21:08:57 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-3-5 01:06:08 | 显示全部楼层
獨傢汜忆 发表于 2014-3-4 21:08
非常感谢 能正常使用

那就采纳吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-5-11 14:52:01 | 显示全部楼层
这东东太先进了,小生还不会,楼主可否让我看看你的Form啊,让我借鉴借鉴,学习学习,嘻嘻,谢谢了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-5-15 17:58:49 | 显示全部楼层
{:1_1:}不管怎么样都支持下吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-23 03:39

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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