⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit_xiaohao.~pas

📁 传奇3小号清理工具 可根据条件清理SQL数据库中符合条件的小号 如长期未登陆的1级小号
💻 ~PAS
📖 第 1 页 / 共 2 页
字号:
            form_clear.ProgressBar9.Max :=i;
            form_clear.ProgressBar10.Max :=i;
            form_clear.ProgressBar11.Max :=i;
            form_clear.ProgressBar1.Position :=0;
            form_clear.ProgressBar2.Position :=0;
            form_clear.ProgressBar3.Position :=0;
            form_clear.ProgressBar4.Position :=0;
            form_clear.ProgressBar5.Position :=0;
            form_clear.ProgressBar6.Position :=0;
            form_clear.ProgressBar7.Position :=0;
            form_clear.ProgressBar8.Position :=0;
            form_clear.ProgressBar9.Position :=0;
            form_clear.ProgressBar10.Position :=0;
            form_clear.ProgressBar11.Position :=0;
            form_clear.ProgressBar12.Position :=0;
            form_clear.Show;
            Application.ProcessMessages;
           for j:=0 to list_js.Items.Count-1 do
           begin
                adoquery1.Active :=false;
                delstring:=list_js.items.Strings[j];
                SQLstring:=('select * from TBL_CHARACTER where FLD_CHARACTER='+'''' + delstring+'''');
                ADOQuery1.sql.Clear;
                ADOQuery1.SQL.Add(sqlstring);
                ADOQuery1.open ;
                if ADOQuery1.RecordCount>0 then
                   begin
                        ADOQuery1.First ;
                        findname:=ADOQuery1.FieldValues['FLD_USERID'];
                        kkk:=false;
                        for temp_j:=0 to list_id.Items.Count-1 do
                        begin
                           if findname=list_id.Items.Strings[temp_j] then kkk:=true;
                        end;
                        if not kkk then list_id.Items.Add(findname);
                    end
                   else
                    begin
                               Application.MessageBox('出现严重的错误,程序无法继续!','错误',MB_OK+MB_ICONERROR);
                               exit;
                    end;

                adoquery1.Active :=false;
                adoquery1.Active :=true;
                sqlstring:=('delete from TBL_CHARACTER  where FLD_CHARACTER='+''''+delstring+'''');
                ADOQuery1.sql.Clear ;
                ADOQuery1.SQL.Add(sqlstring);
                adoquery1.ExecSQL;
                b:=b+1;  //一会儿开起的.
                form_clear.ProgressBar1.Position:= form_clear.ProgressBar1.Position+1;
            end;
            form_clear.ProgressBar12.max:=list_id.Items.Count;
            Application.ProcessMessages;
            form_clear.label5.Enabled :=true;
            Application.ProcessMessages;
            for j:=0 to list_js.Items.Count-1 do
            begin
                adoquery1.Active :=false;
                delstring:=list_js.Items.Strings[j];
                sqlstring:=('delete from TBL_FACEIMG  where FLD_USERNAME='+''''+delstring+'''');
                ADOQuery1.sql.Clear ;
                ADOQuery1.SQL.Add(sqlstring);
                adoquery1.ExecSQL;
                form_clear.ProgressBar2.Position:= form_clear.ProgressBar1.Position+1;
            end;
            for j:=0 to list_js.Items.Count-1 do
            begin
                adoquery1.Active :=false;
                delstring:=list_js.Items.Strings[j];
                sqlstring:=('delete from TBL_ITEM  where FLD_CHARACTER='+''''+delstring+'''');
                ADOQuery1.sql.Clear ;
                ADOQuery1.SQL.Add(sqlstring);
                adoquery1.ExecSQL;
                form_clear.ProgressBar3.Position:= form_clear.ProgressBar3.Position+1;
            end;
            for j:=0 to list_js.Items.Count-1 do
            begin
                adoquery1.Active :=false;
                delstring:=list_js.Items.Strings[j];
                sqlstring:=('delete from TBL_ITEMMARKET  where (FLD_SELLWHO='+''''+delstring+''''+')'+'and (FLD_SELLOK=0)');
                ADOQuery1.sql.Clear ;
                ADOQuery1.SQL.Add(sqlstring);
                adoquery1.ExecSQL;
                form_clear.ProgressBar4.Position:= form_clear.ProgressBar4.Position+1;
            end;
            for j:=0 to list_js.Items.Count-1 do
            begin
                adoquery1.Active :=false;
                delstring:=list_js.Items.Strings[j];
                sqlstring:=('delete from TBL_MAGIC  where FLD_CHARACTER='+''''+delstring+'''');
                ADOQuery1.sql.Clear ;
                ADOQuery1.SQL.Add(sqlstring);
                adoquery1.ExecSQL;
                form_clear.ProgressBar5.Position:= form_clear.ProgressBar5.Position+1;
            end;
            Application.ProcessMessages;
            for j:=0 to list_js.Items.Count-1 do
            begin
                adoquery1.Active :=false;
                delstring:=list_js.Items.Strings[j];
                sqlstring:=('delete from TBL_QUEST  where FLD_CHARACTER='+''''+delstring+'''');
                ADOQuery1.sql.Clear ;
                ADOQuery1.SQL.Add(sqlstring);
                adoquery1.ExecSQL;
                form_clear.ProgressBar6.Position:= form_clear.ProgressBar6.Position+1;
            end;
            Application.ProcessMessages;


            kk:=false;
            ADOConnection1.GetTableNames(combobox4.Items,false);
            for k:=0 to combobox4.Items.Count-1 do
            begin
               if combobox4.Items.Strings[k]= 'TBL_RELATPOINT' then kk:=true;
            end;

            if kk=true then
            begin
            for j:=0 to list_js.Items.Count-1 do
            begin
                adoquery1.Active :=false;
                delstring:=list_js.Items.Strings[j];
                sqlstring:=('delete from TBL_RELATPOINT  where FLD_USERID='+''''+delstring+'''');
                ADOQuery1.sql.Clear ;
                ADOQuery1.SQL.Add(sqlstring);
                adoquery1.ExecSQL;
                form_clear.ProgressBar7.Position:= form_clear.ProgressBar7.Position+1;
            end;
            end;


            for j:=0 to list_js.Items.Count-1 do
            begin
                adoquery1.Active :=false;
                delstring:=list_js.Items.Strings[j];
                sqlstring:=('delete from TBL_SAVEDITEM  where FLD_CHARACTER='+''''+delstring+'''');
                ADOQuery1.sql.Clear ;
                ADOQuery1.SQL.Add(sqlstring);
                adoquery1.ExecSQL;
                form_clear.ProgressBar8.Position:= form_clear.ProgressBar8.Position+1;
            end;
            Application.ProcessMessages;
            form_clear.label13.Enabled :=true;


             //结婚删除
            for j:=0 to list_js.Items.Count-1 do
            begin
                adoquery1.Active :=false;
                delstring:=list_js.Items.Strings[j];
                sqlstring:=('select * from TBL_SUBHUMAN  where FLD_CHARACTER='+''''+delstring+'''');
                ADOQuery1.sql.Clear ;
                ADOQuery1.SQL.Add(sqlstring);
                adoquery1.open;
                IF ADOQUERY1.RecordCount>0 then
                begin
                    if ADOQuery1.FieldValues['FLD_SPOUSE']<>null then delfq:=ADOQuery1.FieldValues['FLD_SPOUSE'] else delfq:='GM*&!ff*&#^*&^$*&^#$*&#$&#*$&*#$&#d';     //取夫妻
                    sqlstring:=('delete from TBL_SUBHUMAN where FLD_CHARACTER='+''''+delfq+'''');
                    ADOQuery1.SQL.Clear ;
                    ADOQuery1.SQL.Add(sqlstring);
                    ADOQuery1.ExecSQL;
                    sqlstring:=('delete from TBL_SUBHUMAN where FLD_CHARACTER='+''''+delstring+'''');
                    ADOQuery1.SQL.Clear ;
                    ADOQuery1.SQL.Add(sqlstring);
                    ADOQuery1.ExecSQL;
                    //改结婚介指
                    sqlstring:=('UPDATE TBL_ITEM SET FLD_DESC8=0,FLD_DESC9=0,FLD_NAMEPREFIX='' where (FLD_CHARACTER='+ ''''+delfq+''''+') and (FLD_NAMEPREFIX='+''''+'结婚戒指'+''''+') and (FLD_TYPE=7)');
                    ADOQuery1.SQL.Clear;
                    ADOQuery1.sql.Add(sqlstring);
                    ADOQuery1.ExecSQL ;
                    c:=c+1;
                end;
                form_clear.ProgressBar10.Position:= form_clear.ProgressBar10.Position+1;
                form_clear.ProgressBar9.Position:= form_clear.ProgressBar9.Position+1;
            end;
            for j:=0 to list_js.Items.Count-1 do
            begin
                adoquery1.Active :=false;
                delstring:=list_js.Items.Strings[j];
                sqlstring:=('delete from TBL_ABILITY  where FLD_CHARACTER='+''''+delstring+'''');
                ADOQuery1.sql.Clear ;
                ADOQuery1.SQL.Add(sqlstring);
                adoquery1.ExecSQL;
                form_clear.ProgressBar11.Position:= form_clear.ProgressBar11.Position+1;
            end;
            form_clear.label11.Enabled :=true;
            //ID删除
            a:=0;
            for j:=0 to list_ID.Items.Count-1 do
            begin
                ADOConnection1.Connected :=false;
                sqlstring:=('Provider=SQLOLEDB.1;Password='+edit4.Text +';Persist Security Info=True;User ID='+edit3.Text +';Initial Catalog='+edit1.Text +';Data Source='+edit5.Text );
                ADOConnection1.ConnectionString :=sqlstring;
                try
                       adoconnection1.Connected:=true;
                except
                        Application.MessageBox('联接game失败!!!','错误',MB_OK +MB_ICONERROR );
                        exit;
                end;
                adoquery1.Active :=false;
                delstring:=list_ID.Items.Strings[j];
                sqlstring:=('select *  from TBL_CHARACTER where FLD_USERID='+''''+delstring+'''');
                ADOQuery1.sql.Clear ;
                ADOQuery1.SQL.Add(sqlstring);
                adoquery1.open;
                //showmessage(inttostr(adoquery1.RecordCount)+' '+delstring);
                if (adoquery1.RecordCount =0 ) and (checkbox4.Checked ) then   //没有找到角色,并要删除.呵呵..
                 begin
                    ADOConnection1.Connected :=false;
                    sqlstring:=('Provider=SQLOLEDB.1;Password='+edit4.Text +';Persist Security Info=True;User ID='+edit3.Text +';Initial Catalog='+edit2.Text +';Data Source='+edit5.Text );
                    ADOConnection1.ConnectionString :=sqlstring;
                    try
                       adoconnection1.Connected:=true;
                    except
                        Application.MessageBox('联接account失败!!!','错误',MB_OK +MB_ICONERROR );
                        exit;
                    end;
                    a:=a+1;
                    sqlstring:=('delete from TBL_ACCOUNTADD where FLD_LOGINID='+''''+delstring+'''');
                    ADOQuery1.sql.Clear ;
                    ADOQuery1.SQL.Add(sqlstring);
                    adoquery1.ExecSQL;
                    sqlstring:=('delete from TBL_ACCOUNT where FLD_LOGINID='+'''' +delstring+'''');
                    ADOQuery1.sql.Clear ;
                    ADOQuery1.SQL.Add(sqlstring);
                    adoquery1.ExecSQL;
                 end;
                form_clear.ProgressBar12.Position:= form_clear.ProgressBar12.Position+1;
            end;
            Application.MessageBox(pchar('清除完成,共删除:'+inttostr(a)+'个帐号,'+inttostr(b)+'个角色,'+inttostr(c)+'个夫妻.请查看是否正确!'),'完成',MB_OK +MB_ICONINFORMATION);
            label10.Caption:=inttostr(strtoint(label10.Caption)-(a));//ID
            label11.Caption:=inttostr(strtoint(label11.Caption)-b);//js
            Form_clear.Close ;
            StatusBar1.Panels[2].Text:='执行结果:已完全清除!!'+inttostr(a)+'/'+inttostr(b);
        end;
end;

procedure TForm_xiaohao.Button4Click(Sender: TObject);
begin
  //    button4.Enabled :=false;
      form_clear.Caption :='正在进行恢复操作......';
      form_clear.showmodal;
end;

procedure TForm_xiaohao.Label13Click(Sender: TObject);
begin
    if checkbox3.Checked  then checkbox3.Checked :=false else checkbox3.Checked:=false;
end;

procedure TForm_xiaohao.CheckBox6Click(Sender: TObject);
begin
   if checkbox6.Checked then
   begin
     checkbox1.Checked :=false;
     checkbox2.Checked :=false;
     checkbox3.Checked :=false;
   end;
     if (checkbox1.Checked=false) and (checkbox2.Checked =false) and (checkbox3.Checked =false) and (checkbox6.Checked =false) then  button2.Enabled :=false else button2.Enabled :=true;
end;

procedure TForm_xiaohao.Edit6Change(Sender: TObject);
begin
     if (checkbox6.Checked) and (edit6.Text ='') then button2.Enabled :=false else button2.Enabled :=true;
end;

procedure TForm_xiaohao.CheckBox1Click(Sender: TObject);
begin
     checkbox6.Checked :=false;
     if (checkbox1.Checked=false) and (checkbox2.Checked =false) and (checkbox3.Checked =false) and (checkbox6.Checked =false) then  button2.Enabled :=false else button2.Enabled :=true;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -