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

📄 unit1.pas

📁 广东幸运七星彩票分析系统 (ADO+SQL),Delphi写的
💻 PAS
📖 第 1 页 / 共 4 页
字号:
    editn1.Enabled:=true;
    editn2.Enabled:=true;
    editn3.Enabled:=true;
    editn4.Enabled:=true;
    editn5.Enabled:=true;
    editn6.Enabled:=true;
    editn7.Enabled:=true;
end;

procedure TForm1.RadioButton6Click(Sender: TObject);
begin
  edit2.Enabled:=true;
  button10.Enabled:=true;
  CheckBoxnu1.Enabled:=true;
  if CheckBoxnu1.Checked =false then
    PANEL4.Enabled :=false
  else
    begin
      PANEL4.Enabled :=true;
      CheckBox1.Enabled:=false;
      editn1.Enabled:=false;
      editn2.Enabled:=false;
      editn3.Enabled:=false;
      editn4.Enabled:=false;
      editn5.Enabled:=false;
      editn6.Enabled:=false;
      editn7.Enabled:=false;
    end;
end;

procedure TForm1.Button11Click(Sender: TObject);
var
  tt1,tt2,tt3,tt4,tt5,tt6,tt7:array[0..9] of string;
  i,k,t1,t2,t3,t4,t5,t6,t7:integer;
  s,ss:string;
begin
 RichEdit1.Lines.Clear;
 k:=strtoint(edit4.Text );
 i:=0;
 for t1:=0 to length(trim(editn1.text))-1 do
   begin
     if i>=k then break;
     tt1[t1]:=copy(editn1.text,t1+1,1);
     for t2:=0 to length(trim(editn2.text))-1 do
     begin
      if i>=k then break;
      tt2[t2]:=copy(editn2.text,t2+1,1);
      for t3:=0 to length(trim(editn3.text))-1 do
      begin
        if i>=k then break;
        tt3[t3]:=copy(editn3.text,t3+1,1);
        for t4:=0 to length(trim(editn4.text))-1 do
        begin
          if i>=k then break;
          tt4[t4]:=copy(editn4.text,t4+1,1);
          for t5:=0 to length(trim(editn5.text))-1 do
          begin
            if i>=k then break;
            tt5[t5]:=copy(editn5.text,t5+1,1);
            for t6:=0 to length(trim(editn6.text))-1 do
            begin
              if i>=k then break;
              tt6[t6]:=copy(editn6.text,t6+1,1);
              for t7:=0 to length(trim(editn7.text))-1 do
              begin
                if i>=k then break;
                tt7[t7]:=copy(editn7.text,t7+1,1);
                s:= checknum(tt1[t1],tt2[t2],tt3[t3],tt4[t4],tt5[t5],tt6[t6],tt7[t7]);
                if s<>'FFFFFFF' THEN
                  begin
                  ss:=ss+s+',';
                  i:=i+1;
                  end ;
              end;
            end;
          end;
        end;
      end;
     end;
   end;
richedit1.Lines.Add(ss);   
end;



procedure TForm1.Button12Click(Sender: TObject);
var cfgini:Tinifile;
begin
  cfgini:=Tinifile.Create('./7star.ini');
  cfgini.WriteString ('MSSQL','Data Source',editsys1.Text );
  cfgini.WriteString ('MSSQL','Initial Catalog',editsys2.Text );
  cfgini.WriteString ('MSSQL','User ID',editsys3.Text );
  cfgini.WriteString ('MSSQL','Password',pscheck(0,117,editsys4.Text) );
  if adoconnection1.Connected=false then
  begin
   StatusBar1.Panels[2].Text :='正在连接数据库!';
   try
   ADOConnection1.ConnectionString:=('Provider='+cfgini.ReadString('MSSQL','Provider','')+';'+
                                     'Persist Security Info='+cfgini.ReadString('MSSQL','Persist Security Info','')+';'+
                                     'User ID='+cfgini.ReadString('MSSQL','User ID','')+';'+
                                     'Initial Catalog='+cfgini.ReadString('MSSQL','Initial Catalog','')+';'+
                                     'Password='+pscheck(1,117,cfgini.ReadString('MSSQL','Password',''))+';'+
                                     'Data Source='+cfgini.ReadString('MSSQL','Data Source',''));
   ADOConnection1.Close;
   ADOConnection1.Open;
   adotable1.Active :=true;
   StatusBar1.Panels[2].Text :='连接数据库成功!';
   except
   MessageBox(Form1.Handle, '连接数据库失败,请检查数据库配置!' , '系统信息(7-STAR)' ,MB_OK);
   StatusBar1.Panels[2].Text :='连接数据库失败,请检查数据库配置!';
   form1.TabSheet6.Show;
   end ;
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
  var cfgini:Tinifile;
begin
  //使用ini文件配置数据库连接
   cfgini:=Tinifile.Create('./7star.ini');
   pagecontrol1.ActivePage := tabsheet10;
   pagecontrol2.ActivePage := tabsheet7;
   try
   StatusBar1.Panels[2].Text :='正在连接数据库!';
   ADOConnection1.ConnectionString:=('Provider='+cfgini.ReadString('MSSQL','Provider','')+';'+
                                     'Persist Security Info='+cfgini.ReadString('MSSQL','Persist Security Info','')+';'+
                                     'User ID='+cfgini.ReadString('MSSQL','User ID','')+';'+
                                     'Initial Catalog='+cfgini.ReadString('MSSQL','Initial Catalog','')+';'+
                                     'Password='+pscheck(1,117,cfgini.ReadString('MSSQL','Password',''))+';'+
                                     'Data Source='+cfgini.ReadString('MSSQL','Data Source',''));
   ADOConnection1.Close;
   ADOConnection1.Open;
   adotable1.Active :=true;
   StatusBar1.Panels[2].Text :='连接数据库成功!';
   except
   MessageBox(Form1.Handle, '连接数据库失败,请检查数据库配置!' , '系统信息(7-STAR)' ,MB_OK);
   StatusBar1.Panels[2].Text :='连接数据库失败,请检查数据库配置!';
   form1.TabSheet6.Show;
   end ;   
   editup1.Text:=cfgini.ReadString('system','updataurl','');
end;

procedure TForm1.CheckBox1Click(Sender: TObject);
begin
 {if CheckBox1.Checked=false then
   begin
     editn1.Text:='0123456789';
     editn2.Text:='9876543210';
     editn3.Text:='0123456789';
     editn4.Text:='9876543210';
     editn5.Text:='0123456789';
     editn6.Text:='9876543210';
     editn7.Text:='0123456789';
    end
 else
     begin
     editn1.Text:='';
     editn2.Text:='';
     editn3.Text:='';
     editn4.Text:='';
     editn5.Text:='';
     editn6.Text:='';
     editn7.Text:='';
    end; }
end;

procedure TForm1.Button13Click(Sender: TObject);
begin
  adotable1.Cancel;
  adotable1.First;
  button13.Visible :=false;
   button4.Enabled :=true;
    button5.Enabled :=false;
    button6.Enabled :=true;
    button7.Enabled :=true;
    dbgrid2.Enabled :=true;
end;

procedure TForm1.TabSheet1Show(Sender: TObject);
var
  i:integer;
begin
   try
    form1.StatusBar1.Panels[2].Text :='智能选号';
    ADOTable1.First;
    for i:=1 to 7 do      //读取上期号码
      lastnum[i]:=ADOTable1.FieldValues['num'+inttostr(i)];
   except
      StatusBar1.Panels[2].Text :='无法连接数据库!';
   end;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  StatusBar1.Panels[1].Text :=datetimetostr(now());
end;

procedure TForm1.FormResize(Sender: TObject);
begin
  form1.Height:=502;
  form1.Width:=642
end;

procedure TForm1.TabSheet6Show(Sender: TObject);
var cfgini:Tinifile;
begin
  form1.StatusBar1.Panels[2].Text :='系统设置';
  cfgini:=Tinifile.Create('./7star.ini');
  editsys1.Text:=cfgini.readString ('MSSQL','Data Source','' );
  editsys2.Text:=cfgini.readString ('MSSQL','Initial Catalog','' );
  editsys3.Text:=cfgini.readString ('MSSQL','User ID','' );

end;


procedure TForm1.TabSheet3Show(Sender: TObject);
begin
  form1.StatusBar1.Panels[2].Text :='开奖数据';
end;

procedure TForm1.TabSheet4Show(Sender: TObject);
begin
  form1.StatusBar1.Panels[2].Text :='智能分析';
end;

procedure TForm1.TabSheet5Show(Sender: TObject);
var
  s:string;
begin
  form1.StatusBar1.Panels[2].Text :='数据升级';
  s:=ExtractFilePath(Application.ExeName);
  editup2.Text:=s+'7supdata.dat';
  editup3.Text:=s+'7sbackup.dat';
end;

procedure TForm1.TabSheet10Show(Sender: TObject);
begin
  form1.StatusBar1.Panels[2].Text :='系统说明';
end;

procedure TForm1.TabSheet8Show(Sender: TObject);
var
  i,j: integer;
  m:array[1..7] of integer;
begin
  form1.ADOQuery1.First;
  Label37.Caption:= Label8.Caption;
  StatusBar1.Panels[2].Text :='智能分析--位数字统计图';
  for i:=1 to 7 do
    begin
      form1.ADOQuery1.First;
      (self.findcomponent('numSeries'+inttostr(i)) as tchartSeries).Clear;
      for j:=0 to 9 do
        begin
           (self.findcomponent('numSeries'+inttostr(i)) as tchartSeries).Add(strtoint(form1.adoquery1.Fields[i].Value),'个'+inttostr(j),clTeeColor);
           form1.ADOQuery1.Next;
        end;
    end;

    for i:=1 to 7 do
    begin
      form1.ADOquery1.RecNo:=11;
      m[i]:=strtoint(form1.adoquery1.Fields[i].Value);
    end;
     qoSeries1.Clear;
    for i:=1 to 7 do
    begin
      form1.ADOquery1.recno:=12;
      j:=strtoint(form1.adoquery1.Fields[i].Value);
      qoSeries1.Add((m[i]/j),inttostr(i),clTeeColor) ;
    end;

end;



procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
  IF OPendialog1.Execute=true then editup2.Text:=opendialog1.Filename; 
end;

procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
  IF savedialog1.Execute=true then editup3.Text:=savedialog1.Filename;
end;

procedure TForm1.Button14Click(Sender: TObject);
 var
   _s3,_f,_t:string;
   i,m:integer;
   _s:textfile;
   cfgini:Tinifile;
begin
  m:=0;
if CheckBoxUP1.Checked=true then
begin
  StatusBar1.Panels[2].Text :='开始备份数据!';
  Randomize;
  _s3:=editup3.Text;
  //_s3:=ExtractFileDir(application.ExeName)+'\backup\'+FormatDateTime('yyyymmddhhmmss',now())+'.s5';
  //备份文件名,取当前日期时间为文件名
  assignfile(_s,_s3);
  rewrite(_s);//新建并打开,文件存在则覆盖目标文件
  _t:='sstar_num';
  adoquery2.Active:=false;
  with  adoquery2 do
  begin
    close;
    sql.clear;
    sql.add('select syscolumns.name as 名称,systypes.name as 类型,syscolumns.prec as 长度,isnullable as 允许空 from syscolumns,systypes where (object_id('''+_t+''')=syscolumns.id) and (syscolumns.xusertype=systypes.xusertype)');
    //表的数据都存在库的syscolumns表里,所以只要读它就能取出表结构,systypes表里的是类型
    open;
  end;
   adoquery2.Active:=true;
  if  adoquery2.RecordCount>0 then
  begin
     adoquery2.First;
    writeln(_s,'--表'''+_t+'''的结构');
    writeln(_s,'  if exists (select * from sysobjects where id = OBJECT_ID('''+_t+''') and OBJECTPROPERTY(id, ''IsUserTable'') = 1) DROP TABLE '+_t);
    write(_s,'  CREATE TABLE '+_t+'(');
    repeat
      if  adoquery2.FieldByName('类型').AsString='nvarchar' then
      begin
      for i:=1 to  adoquery2.FieldCount-1 do
        if adoquery2.Fields.FieldByNumber(i).DataType=ftSmallint then write(_s,'('+adoquery2.Fields.FieldByNumber(i).AsString+') ')
          else write(_s,adoquery2.Fields.FieldByNumber(i).asString+' ');
      end else
      for i:=1 to adoquery2.FieldCount-1 do
        if adoquery2.Fields.FieldByNumber(i).DataType<>ftSmallint then write(_s,adoquery2.Fields.FieldByNumber(i).asString+' ');
      if adoquery2.Fields.FieldByNumber(adoquery2.FieldCount).AsString='1' then write(_s,'null,')
        else write(_s,'not null,');
      adoquery2.Next;
    until adoquery2.Eof;
    write(_s,')');
    writeln(_s);
  end;
  adoquery2.Active:=false;
  with  adoquery2 do
  begin
    close;
    sql.clear;
    sql.add('SELECT * FROM '+_t);
    open;
  end;
  adoquery2.Active:=true;
  if adoquery2.RecordCount>0 then
  begin
    _f:='';
    for i:=1 to adoquery2.FieldCount-1 do
      _f:=_f+adoquery2.Fields.FieldByNumber(i).FieldName+',';
    _f:=_f+adoquery2.Fields.FieldByNumber(adoquery2.FieldCount).FieldName;
    adoquery2.First;
    writeln(_s,'--表'''+_t+'''的数据');
    repeat
      write(_s,'  insert into '+_t+'('+_f+ ') Values(');
      for i:=1 to adoquery2.FieldCount-1 do
        if adoquery2.Fields.FieldByNumber(i).AsString='' then write(_s,'null,')
          else if (adoquery2.Fields.FieldByNumber(i).DataType=ftWideString) or (adoquery2.Fields.FieldByNumber(i).DataType=ftDateTime) then write(_s,''''+adoquery2.Fields.FieldByNumber(i).AsString+''',')
            else write(_s,adoquery2.Fields.FieldByNumber(i).AsString+',');
      if adoquery2.Fields.FieldByNumber(adoquery2.FieldCount).AsString='' then write(_s,'null)')
        else if (adoquery2.Fields.FieldByNumber(adoquery2.FieldCount).DataType=ftWideString) or (adoquery2.Fields.FieldByNumber(adoquery2.FieldCount).DataType=ftDateTime) then write(_s,''''+adoquery2.Fields.FieldByNumber(adoquery2.FieldCount).AsString+''')')
          else write(_s,adoquery2.Fields.FieldByNumber(adoquery2.FieldCount).AsString+')');
        Writeln(_s);
      adoquery2.Next;
    until adoquery2.Eof;
  end;
  Closefile(_s);
  StatusBar1.Panels[2].Text :='数据已成功备份!';
end;

  if strtoint(copy(ComboBoxUP1.Text,1,1))=1 then
  begin
  StatusBar1.Panels[2].Text :='正在下载升级文件.....';
  if S_OK = UrlDownloadToFile(nil,pansichar(editup1.Text ),pansichar(editup2.Text ),0, nil)
  then
    begin
    m:=1;
    StatusBar1.Panels[2].Text :='升级文件已成功下载!';
    cfgini:=Tinifile.Create('./7star.ini');
    cfgini.WriteString ('system','updataurl',editup1.Text);
    end
  else
    begin
    StatusBar1.Panels[2].Text :='升级文件下载失败!';
    m:=0;
    end;
  end;

  if strtoint(copy(ComboBoxUP1.Text,1,1))=2 then m:=1;

  if m=1 then
  begin
  try
    StatusBar1.Panels[2].Text :='正在升级数据!';
    adoquery2.Close;
    adoquery2.SQL.Clear;
    adoquery2.SQL.Add ('delete from sstar_num');
    adoquery2.ExecSQL;
    adoquery2.Close;
    adoquery2.SQL.Clear;
    adoquery2.SQL.LoadFromFile(editup2.Text );
    adoquery2.ExecSQL;
    adotable1.Close;
    adoconnection1.Close;
    adoconnection1.open;
    adotable1.Open;
    StatusBar1.Panels[2].Text :='数据已成功升级!';
  except
    showmessage('数据升级失败!');
    StatusBar1.Panels[2].Text :='数据升级失败!';
   end ;

  if CheckBoxUP1.Checked=true then
   begin
      drb(9999);
      drb(100);
      drb(50);
      drb(10);
   end;
  end; 
end;

end.



⌨️ 快捷键说明

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