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

📄 unit_xiaohao.~pas

📁 传奇3小号清理工具 可根据条件清理SQL数据库中符合条件的小号 如长期未登陆的1级小号
💻 ~PAS
📖 第 1 页 / 共 2 页
字号:
unit Unit_xiaohao;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, StdCtrls, DB, ADODB, Grids, DBGrids;

type
  TForm_xiaohao = class(TForm)
    GroupBox1: TGroupBox;
    StatusBar1: TStatusBar;
    GroupBox2: TGroupBox;
    Label1: TLabel;
    Edit1: TEdit;
    Label2: TLabel;
    Edit2: TEdit;
    Label3: TLabel;
    Edit3: TEdit;
    Label4: TLabel;
    Edit4: TEdit;
    Label5: TLabel;
    Edit5: TEdit;
    Button1: TButton;
    GroupBox3: TGroupBox;
    GroupBox4: TGroupBox;
    CheckBox1: TCheckBox;
    ComboBox1: TComboBox;
    Edit7: TEdit;
    Label6: TLabel;
    CheckBox2: TCheckBox;
    ComboBox2: TComboBox;
    DateTimePicker1: TDateTimePicker;
    CheckBox3: TCheckBox;
    ComboBox3: TComboBox;
    DateTimePicker2: TDateTimePicker;
    UpDown1: TUpDown;
    Button2: TButton;
    Button3: TButton;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    ADOConnection1: TADOConnection;
    ADOQuery1: TADOQuery;
    CheckBox4: TCheckBox;
    Label14: TLabel;
    Label15: TLabel;
    CheckBox6: TCheckBox;
    Edit6: TEdit;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    List_id: TListBox;
    List_js: TListBox;
    ComboBox4: TComboBox;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Button1Click(Sender: TObject);
    procedure Edit7Change(Sender: TObject);
    procedure Edit7KeyPress(Sender: TObject; var Key: Char);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Label13Click(Sender: TObject);
    procedure CheckBox6Click(Sender: TObject);
    procedure Edit6Change(Sender: TObject);
    procedure CheckBox1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form_xiaohao: TForm_xiaohao;

implementation

uses Unit1, Unit_clear;

{$R *.dfm}

procedure TForm_xiaohao.FormClose(Sender: TObject; var Action: TCloseAction);
begin
      ADOQuery1.Active:=false;
      ADOConnection1.Connected:=false;
      edit1.Enabled:=true;
      edit2.Enabled:=true;
      edit3.Enabled:=true;
      edit4.Enabled:=true;
      edit5.Enabled:=true;
      button1.Enabled:=true;
      form_main.Visible :=true;
end;

procedure TForm_xiaohao.Button1Click(Sender: TObject);
var
sqlstring:string;
begin
   if Application.MessageBox('在这里,你的每一次操作都会直接写进SQL表.因此,在你更改之前最好先备份好数据库.同时,如果你想删除数据库那么必需是在EI关闭的情况下.否则你的更改可能不会生效.如果你觉得没有问题就点确定进入,否则请取消!!','提示',MB_OKCANCEL+MB_ICONWARNING)<>mrOk then
   begin
      ADOQuery1.Active:=false;
      ADOConnection1.Connected:=false;
      exit;
   end;
   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;
   adoquery1.Active:=false;
   adoquery1.SQL.Clear;
   ADOQuery1.SQL.Add('select * from tbl_accountadd');
   ADOConnection1.Connected:=true;
   try
      adoquery1.Active:=true;
   except
      Application.MessageBox('联接game数据库失败,请检查各项值是否正确.','错误',MB_OK+MB_ICONWARNING);
      groupbox3.Enabled :=false;
      statusbar1.Panels[0].Text:='联接game数据库失败....';
      exit;
   end;
   label10.Caption:=inttostr(adoquery1.RecordCount);
   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;
   adoquery1.Active:=false;
   adoquery1.SQL.Clear;
   ADOQuery1.SQL.Add('select * from tbl_character');
   ADOConnection1.Connected:=true;
   try
       ADOQuery1.Active:=true;
   except
        Application.MessageBox('联接数据库失败,请检查各项值是否正确.','错误',MB_OK+MB_ICONWARNING);
        groupbox3.Enabled :=false;
        statusbar1.Panels[0].Text:='联接数据库失败....';
        ADOConnection1.Connected:=false;
        exit;
   end;
        groupbox3.Enabled :=true;
        statusbar1.Panels[0].Text:='数据库成功联接....';
        edit1.Enabled :=false;
        edit2.Enabled :=false;
        edit3.Enabled :=false;
        edit4.Enabled :=false;
        edit5.Enabled :=false;
        button1.Enabled :=false;
        label11.Caption:=inttostr(ADOQuery1.RecordCount);
end;

procedure TForm_xiaohao.Edit7Change(Sender: TObject);
begin
     if strtoint(edit7.Text) <0 then edit7.Text :='0';
     if strtoint(edit7.Text) >255 then edit7.Text :='255';
end;

procedure TForm_xiaohao.Edit7KeyPress(Sender: TObject; var Key: Char);
begin
  if not(key in['0'..'9',#8]) then
  begin
      key:=#0;
       MessageBeep(1);
  end;   
end;

procedure TForm_xiaohao.Button2Click(Sender: TObject);
var
sqlstring,findname:string;
//dbfile:textfile;
i:Integer;
begin
   LIST_JS.Items.Clear;
   if Application.MessageBox('本操作根据你数据大小,可能会浪费一点时间,程序本身也可能会出现没有响应的情况,这个时候请你慢慢等待,不要以为程序死机!!','提示',MB_OKCANCEL+MB_ICONWARNING)= mrOk then
   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;
    sqlstring:='';
    if checkbox1.Checked then
   begin
      sqlstring:='(FLD_LEVEL '+combobox1.Text+' '+edit7.Text+')';
   end;

   if checkbox2.Checked then
   begin
     if checkbox1.Checked then sqlstring:=sqlstring+' and (fld_updatedatetime '+combobox2.Text+label15.Caption+DateTimeToStr(DateTimePicker1.DateTime)+label15.Caption+')' else sqlstring:=sqlstring+' (fld_updatedatetime '+combobox2.Text+label15.Caption+datetimetostr(DateTimePicker1.DateTime)+label15.Caption+')';
   end;

   if checkbox3.Checked then
   begin
     if  (checkbox1.checked )or( checkbox2.checked) then sqlstring:=sqlstring+' and (FLD_MAKEDATE '+combobox3.Text+label15.Caption+DateTimeToStr(datetimepicker2.DateTime)+label15.Caption+')' else sqlstring:=sqlstring+' (FLD_MAKEDATE'+combobox3.Text+label15.Caption+DateTimeToStr(datetimepicker2.DateTime)+label15.Caption+')';
   end;
   if checkbox1.Checked or checkbox2.Checked or checkbox3.Checked then sqlstring:=('select * from TBL_CHARACTER WHERE '+Sqlstring ) else sqlstring:=('select * from TBL_CHARACTER  ' );
   if checkbox6.Checked then
   begin
       if edit6.Text <> '' then
       begin
         if RadioButton1.Checked then
         begin
            sqlstring:=('select * from TBL_CHARACTER WHERE FLD_character='+''''+edit6.Text +'''');
         end
         else
         begin
            sqlstring:=('select * from TBL_CHARACTER WHERE FLD_userid='+''''+edit6.Text +'''');
         end;

       end
       else
       begin
         Application.MessageBox('角色或帐号不能为空!!','错误',MB_OK+MB_ICONERROR);
         edit6.SetFocus ;
         exit;
       end;
   end;
   ADOQuery1.SQL.Clear;
   ADOQuery1.sql.Add(sqlstring);
   if ADOQuery1.Active then ADOQuery1.ExecSQL else ADOQuery1.Active:=true;
   label12.Caption:=inttostr(ADOQuery1.RecordCount);
   StatusBar1.Panels[1].Text:='查询结果:'+label12.Caption;
   if ADOQuery1.RecordCount>0 then
   begin
      button3.Enabled:=true;
      {assignfile(dbfile,(ExtractFilePath(Application.ExeName)+'\findname.txt'));
      rewrite(dbfile); }
      i:=0;
      ADOQuery1.First ;
      for i:=1 to (ADOQuery1.RecordCount) do
       begin
             findname:=ADOQuery1.FieldValues['FLD_CHARACTER'];
             list_js.Items.Add(findname);
             //writeln(dbfile,findname);
             //i:=i+1;
             ADOQuery1.Next;
       end;
       {Flush(dbfile);
       closefile(dbfile);}
    end
    else button3.Enabled:=false;
   end
  else
  begin
    ///
  end;
end;

procedure TForm_xiaohao.Button3Click(Sender: TObject);
var
number,i,n,a,b,c,j,temp_j,k:Integer;
kkk,kk:Boolean;
delstring,sqlstring,delfq,findname:string;
begin
    List_ID.Items.Clear;
    b:=0;
    c:=0;
   if Application.MessageBox('请你确定以下几个情况后再点确定删除,否则可能会有严重的后果。1: EIserver是关闭的。2: 你删除的条件是正确的吗!4:看到了查询结果是正确的!5:做好了备份了!6:做好了被玩家骂的准备! 如果你觉得没问题,那么就点确定吧!!!','提示',MB_OKCANCEL+MB_ICONWARNING)=mrOk then
   begin
      button3.Enabled:=false;
      form_clear.Caption :='正在进行删除操作......';
            i:=list_js.Items.Count;
            form_clear.ProgressBar1.Max :=i;
            form_clear.ProgressBar2.Max :=i;
            form_clear.ProgressBar3.Max :=i;
            form_clear.ProgressBar4.Max :=i;
            form_clear.ProgressBar5.Max :=i;
            form_clear.ProgressBar6.Max :=i;
            form_clear.ProgressBar7.Max :=i;
            form_clear.ProgressBar8.Max :=i;

⌨️ 快捷键说明

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