mainform.pas
来自「双色球分析系统及源代码完整版」· PAS 代码 · 共 625 行 · 第 1/2 页
PAS
625 行
unit mainForm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, dxExEdtr, StdCtrls, ExtCtrls, dxCntner, dxTL, dxDBCtrl,
dxDBGrid, ComCtrls, DB, ADODB, DBCtrls, Mask, TeeProcs, TeEngine, Chart,DateUtils,
Series, RzBHints, Buttons, RzDTP, RzDBDTP, Grids, OleCtrls, SHDocVw;
type
TfrmMainForm = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
DG: TdxDBGrid;
Panel1: TPanel;
Label1: TLabel;
QH: TDBEdit;
H1: TDBEdit;
H2: TDBEdit;
H3: TDBEdit;
H4: TDBEdit;
H5: TDBEdit;
H6: TDBEdit;
L1: TDBEdit;
DBN: TDBNavigator;
DS: TDataSource;
AT: TADOTable;
AC: TADOConnection;
DGColumn1: TdxDBGridColumn;
DGColumn2: TdxDBGridColumn;
DGColumn3: TdxDBGridColumn;
DGColumn4: TdxDBGridColumn;
DGColumn5: TdxDBGridColumn;
DGColumn6: TdxDBGridColumn;
DGColumn7: TdxDBGridColumn;
DGColumn8: TdxDBGridColumn;
tc: TChart;
Panel2: TPanel;
Label2: TLabel;
FQFW: TComboBox;
Label3: TLabel;
TBFS: TComboBox;
AQ: TADOQuery;
Series1: TBarSeries;
TabSheet5: TTabSheet;
RBH: TRzBalloonHints;
btnSave: TBitBtn;
Panel3: TPanel;
Label4: TLabel;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
DBEdit5: TDBEdit;
DBEdit6: TDBEdit;
DBEdit7: TDBEdit;
DBEdit8: TDBEdit;
DBNavigator1: TDBNavigator;
GDG: TdxDBGrid;
dxDBGridColumn1: TdxDBGridColumn;
dxDBGridColumn2: TdxDBGridColumn;
dxDBGridColumn3: TdxDBGridColumn;
dxDBGridColumn4: TdxDBGridColumn;
dxDBGridColumn5: TdxDBGridColumn;
dxDBGridColumn6: TdxDBGridColumn;
dxDBGridColumn7: TdxDBGridColumn;
dxDBGridColumn8: TdxDBGridColumn;
GAT: TADOTable;
GDS: TDataSource;
GDGColumn9: TdxDBGridColumn;
GMRQ: TRzDBDateTimePicker;
Label5: TLabel;
tb: TStringGrid;
StatusBar1: TStatusBar;
TabSheet4: TTabSheet;
GMTB: TStringGrid;
TabSheet6: TTabSheet;
wb: TWebBrowser;
procedure DGColumnClick(Sender: TObject; Column: TdxDBTreeListColumn);
procedure FormCreate(Sender: TObject);
procedure FQFWChange(Sender: TObject);
procedure TabSheet2Show(Sender: TObject);
procedure TBFSChange(Sender: TObject);
procedure tcDblClick(Sender: TObject);
procedure btnSaveClick(Sender: TObject);
procedure TabSheet5Show(Sender: TObject);
procedure ATAfterEdit(DataSet: TDataSet);
procedure ATAfterDelete(DataSet: TDataSet);
procedure ATAfterInsert(DataSet: TDataSet);
procedure tbDrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect;
State: TGridDrawState);
procedure GATAfterEdit(DataSet: TDataSet);
procedure GATAfterInsert(DataSet: TDataSet);
procedure GATAfterDelete(DataSet: TDataSet);
procedure TabSheet4Show(Sender: TObject);
procedure GMTBDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
procedure TabSheet4Hide(Sender: TObject);
procedure wbNewWindow2(Sender: TObject; var ppDisp: IDispatch;
var Cancel: WordBool);
procedure TabSheet6Show(Sender: TObject);
private
blshow,blgmshow : boolean;
{ Private declarations }
public
Adata,Atb : array of integer;
procedure Totaldata();
procedure SetValue(tc : Tchart);
{ Public declarations }
end;
var
frmMainForm: TfrmMainForm;
implementation
uses zs;
{$R *.dfm}
procedure TfrmMainForm.DGColumnClick(Sender: TObject;
Column: TdxDBTreeListColumn);
begin
AT.IndexFieldNames := column.FieldName ;
end;
procedure TfrmMainForm.FormCreate(Sender: TObject);
begin
setlength(adata,34);
setlength(atb,17);
blshow :=false;
blgmshow :=false;
end;
procedure TfrmMainForm.Totaldata();
function getDate(ij : integer) : string;
begin
result := 'select top ' + inttostr(ij) + ' * from 开奖数据 order by 期号 desc' ;
end;
var
strsql,strsql1 : string;
i,w : integer;
intYear,intMonth : integer;
begin
intyear := yearof(date);
intMonth := monthof(date);
case fqfw.ItemIndex of
0: strsql := 'select * from 开奖数据';
1: strsql := 'select * from 开奖数据 where 期号 like ''%' + inttostr(intyear) + '%''';
2: strsql := getdate(99);
3: strsql := getdate(96);
4: strsql := getdate(80);
5: strsql := getdate(66);
6: strsql := getdate(64);
7: strsql := getdate(48);
8: strsql := getdate(33);
9: strsql := getdate(32);
10: strsql := getdate(16);
end;
for i:= 1 to 33 do
adata[i] :=0;
for i:= 1 to 16 do
atb[i] :=0;
aq.Close;
aq.SQL.Clear;
aq.SQL.Add(strsql);
aq.Open;
if aq.RecordCount >0 then
begin
if tbfs.ItemIndex <3 then
begin
aq.First;
while not aq.Eof do
begin
adata[aq.FieldByName('红色1').AsInteger ] := adata[aq.FieldByName('红色1').AsInteger ] +1;
adata[aq.FieldByName('红色2').AsInteger ] := adata[aq.FieldByName('红色2').AsInteger ] +1;
adata[aq.FieldByName('红色3').AsInteger ] := adata[aq.FieldByName('红色3').AsInteger ] +1;
adata[aq.FieldByName('红色4').AsInteger ] := adata[aq.FieldByName('红色4').AsInteger ] +1;
adata[aq.FieldByName('红色5').AsInteger ] := adata[aq.FieldByName('红色5').AsInteger ] +1;
adata[aq.FieldByName('红色6').AsInteger ] := adata[aq.FieldByName('红色6').AsInteger ] +1;
atb[aq.FieldByName('蓝色').AsInteger ] := atb[aq.FieldByName('蓝色').AsInteger ] +1;
aq.Next;
end;
end;
//==================
if tbfs.ItemIndex =3 then
begin
aq.First;
while not aq.Eof do
begin
if (aq.FieldByName('红色1').AsInteger + 1 = aq.FieldByName('红色2').AsInteger) then
begin
adata[aq.FieldByName('红色1').AsInteger ] := adata[aq.FieldByName('红色1').AsInteger ] +1;
end;
if (aq.FieldByName('红色2').AsInteger + 1 = aq.FieldByName('红色3').AsInteger) then
begin
adata[aq.FieldByName('红色2').AsInteger ] := adata[aq.FieldByName('红色2').AsInteger ] +1;
end;
if (aq.FieldByName('红色3').AsInteger + 1 = aq.FieldByName('红色4').AsInteger) then
begin
adata[aq.FieldByName('红色3').AsInteger ] := adata[aq.FieldByName('红色3').AsInteger ] +1;
end;
if (aq.FieldByName('红色4').AsInteger + 1 = aq.FieldByName('红色5').AsInteger) then
begin
adata[aq.FieldByName('红色4').AsInteger ] := adata[aq.FieldByName('红色4').AsInteger ] +1;
end;
if (aq.FieldByName('红色5').AsInteger + 1 = aq.FieldByName('红色6').AsInteger) then
begin
adata[aq.FieldByName('红色5').AsInteger ] := adata[aq.FieldByName('红色5').AsInteger ] +1;
end;
aq.Next;
end;
end;
//=====================
if tbfs.ItemIndex =4 then
begin
aq.First;
while not aq.Eof do
begin
if (aq.FieldByName('红色1').AsInteger + 1 = aq.FieldByName('红色2').AsInteger) and (aq.FieldByName('红色2').AsInteger + 1 = aq.FieldByName('红色3').AsInteger) then
begin
adata[aq.FieldByName('红色1').AsInteger ] := adata[aq.FieldByName('红色1').AsInteger ] +1;
end;
if (aq.FieldByName('红色2').AsInteger + 1 = aq.FieldByName('红色3').AsInteger) and (aq.FieldByName('红色3').AsInteger + 1 = aq.FieldByName('红色4').AsInteger) then
begin
adata[aq.FieldByName('红色2').AsInteger ] := adata[aq.FieldByName('红色2').AsInteger ] +1;
end;
if (aq.FieldByName('红色3').AsInteger + 1 = aq.FieldByName('红色4').AsInteger) and (aq.FieldByName('红色4').AsInteger + 1 = aq.FieldByName('红色5').AsInteger) then
begin
adata[aq.FieldByName('红色3').AsInteger ] := adata[aq.FieldByName('红色3').AsInteger ] +1;
end;
if (aq.FieldByName('红色4').AsInteger + 1 = aq.FieldByName('红色5').AsInteger) and (aq.FieldByName('红色5').AsInteger + 1 = aq.FieldByName('红色6').AsInteger) then
begin
adata[aq.FieldByName('红色4').AsInteger ] := adata[aq.FieldByName('红色4').AsInteger ] +1;
end;
aq.Next;
end;
end;
//===============
if tbfs.ItemIndex =5 then
begin
aq.First;
while not aq.Eof do
begin
if (aq.FieldByName('红色1').AsInteger + 1 = aq.FieldByName('红色2').AsInteger) and (aq.FieldByName('红色2').AsInteger + 1 = aq.FieldByName('红色3').AsInteger) and (aq.FieldByName('红色3').AsInteger + 1 = aq.FieldByName('红色4').AsInteger) then
begin
adata[aq.FieldByName('红色1').AsInteger ] := adata[aq.FieldByName('红色1').AsInteger ] +1;
end;
if (aq.FieldByName('红色2').AsInteger + 1 = aq.FieldByName('红色3').AsInteger) and (aq.FieldByName('红色3').AsInteger + 1 = aq.FieldByName('红色4').AsInteger) and (aq.FieldByName('红色4').AsInteger + 1 = aq.FieldByName('红色5').AsInteger) then
begin
adata[aq.FieldByName('红色2').AsInteger ] := adata[aq.FieldByName('红色2').AsInteger ] +1;
end;
if (aq.FieldByName('红色3').AsInteger + 1 = aq.FieldByName('红色4').AsInteger) and (aq.FieldByName('红色4').AsInteger + 1 = aq.FieldByName('红色5').AsInteger) and (aq.FieldByName('红色5').AsInteger + 1 = aq.FieldByName('红色6').AsInteger) then
begin
adata[aq.FieldByName('红色3').AsInteger ] := adata[aq.FieldByName('红色3').AsInteger ] +1;
end;
aq.Next;
end;
end;
//===========================
if tbfs.ItemIndex =6 then
begin
aq.First;
while not aq.Eof do
begin
if (aq.FieldByName('红色1').AsInteger + 2 = aq.FieldByName('红色2').AsInteger) then
begin
adata[aq.FieldByName('红色1').AsInteger ] := adata[aq.FieldByName('红色1').AsInteger ] +1;
end;
if (aq.FieldByName('红色2').AsInteger + 2 = aq.FieldByName('红色3').AsInteger) then
begin
adata[aq.FieldByName('红色2').AsInteger ] := adata[aq.FieldByName('红色2').AsInteger ] +1;
end;
if (aq.FieldByName('红色3').AsInteger + 2 = aq.FieldByName('红色4').AsInteger) then
begin
adata[aq.FieldByName('红色3').AsInteger ] := adata[aq.FieldByName('红色3').AsInteger ] +1;
end;
if (aq.FieldByName('红色4').AsInteger + 2 = aq.FieldByName('红色5').AsInteger) then
begin
adata[aq.FieldByName('红色4').AsInteger ] := adata[aq.FieldByName('红色4').AsInteger ] +1;
end;
if (aq.FieldByName('红色5').AsInteger + 2 = aq.FieldByName('红色6').AsInteger) then
begin
adata[aq.FieldByName('红色5').AsInteger ] := adata[aq.FieldByName('红色5').AsInteger ] +1;
end;
aq.Next;
end;
end;
//==================================
if tbfs.ItemIndex =7 then
begin
aq.First;
while not aq.Eof do
begin
if (aq.FieldByName('红色1').AsInteger + 2 = aq.FieldByName('红色2').AsInteger) and (aq.FieldByName('红色2').AsInteger + 2 = aq.FieldByName('红色3').AsInteger) then
begin
adata[aq.FieldByName('红色1').AsInteger ] := adata[aq.FieldByName('红色1').AsInteger ] +1;
end;
if (aq.FieldByName('红色2').AsInteger + 2 = aq.FieldByName('红色3').AsInteger) and (aq.FieldByName('红色3').AsInteger + 2 = aq.FieldByName('红色4').AsInteger) then
begin
adata[aq.FieldByName('红色2').AsInteger ] := adata[aq.FieldByName('红色2').AsInteger ] +1;
end;
if (aq.FieldByName('红色3').AsInteger + 2 = aq.FieldByName('红色4').AsInteger) and (aq.FieldByName('红色4').AsInteger + 2 = aq.FieldByName('红色5').AsInteger) then
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?