獨傢汜忆 发表于 2014-3-2 09:50:42

请问这段代码怎么改成

请问这段代码怎么改成如果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;

comeheres 发表于 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;




獨傢汜忆 发表于 2014-3-4 21:08:57

comeheres 发表于 2014-3-2 13:06 static/image/common/back.gif


非常感谢 能正常使用

comeheres 发表于 2014-3-5 01:06:08

獨傢汜忆 发表于 2014-3-4 21:08 static/image/common/back.gif
非常感谢 能正常使用

那就采纳吧{:5_109:}

595835881 发表于 2014-5-11 14:52:01

这东东太先进了,小生还不会,楼主可否让我看看你的Form啊,让我借鉴借鉴,学习学习,嘻嘻,谢谢了

王献8 发表于 2014-5-15 17:58:49

{:1_1:}不管怎么样都支持下吧
页: [1]
查看完整版本: 请问这段代码怎么改成