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

📄 form_techanalysel.pas

📁 双色球分析软件
💻 PAS
📖 第 1 页 / 共 5 页
字号:
     combobox7.Items.Add('第五个红球');
     combobox7.Items.Add('第六个红球');
     //////分球预测号码////////////////
     combobox8.Items.Clear;
     for i:=1 to 33 do
     begin
         combobox8.Items.Add(inttostr(i));
     end;///i
     R_CPFirstQ2:=TStringList.Create;
     /////////////////////
    grid1.ColWidths[1]:=45;
     grid1.Cells[1,1].ForeText:='期号';
     grid1.RowHeights[1]:=20;
     for i:=2 to 14 do
     begin
         grid1.ColWidths[i]:=70;
         //grid1.cells[i,1].foretext:=inttostr(i-1);

     end;
     for i:=1 to grid1.ColCount-1 do
     begin
         grid1.Cells[i,1].Color:=rgb(0,0,255);
         grid1.Cells[i,1].FontColor:=rgb(255,255,0);  
     end;
     grid1.Cells[2,1].ForeText:='红球1';
     grid1.Cells[3,1].ForeText:='红球2';
     grid1.Cells[4,1].ForeText:='红球3';
     grid1.Cells[5,1].ForeText:='红球4';
     grid1.Cells[6,1].ForeText:='红球5';
     grid1.Cells[7,1].ForeText:='红球6';
     grid1.Cells[8,1].ForeText:='蓝球1';
     grid1.Cells[9,1].ForeText:='蓝球2';
     grid1.Cells[10,1].ForeText:='偏度';
     grid1.ColWidths[10]:=50;
     grid1.Cells[11,1].ForeText:='散度';
     grid1.ColWidths[11]:=50;
     grid1.Cells[12,1].ForeText:='AC值';
     grid1.ColWidths[12]:=50;
     grid1.Cells[13,1].ForeText:='最大与实偏差';
     grid1.ColWidths[13]:=100;
     ///////显示双色球记录////////////////////
     with AdoQuery1 do
     begin
         connectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+CurrentPath+'\sale.mdb;Persist Security Info=False';
         close;
         sql.Clear;
         sql.Add('Select * From  CPdata order By sID');
         prepared;
         open;
         if recordcount<>0 then
         begin
            i:=1;
            while not Eof do
            begin
                 grid1.RowCount:=i+2;
                 grid1.Cells[1,i+1].ForeText:=trim(FieldByName('sID').AsString);
                 grid1.Cells[2,i+1].ForeText:=trim(FieldByName('r1').AsString);
                 grid1.Cells[3,i+1].ForeText:=trim(FieldByName('r2').AsString);
                 grid1.Cells[4,i+1].ForeText:=trim(FieldByName('r3').AsString);
                 grid1.Cells[5,i+1].ForeText:=trim(FieldByName('r4').AsString);
                 grid1.Cells[6,i+1].ForeText:=trim(FieldByName('r5').AsString);
                 grid1.Cells[7,i+1].ForeText:=trim(FieldByName('r6').AsString);
                 grid1.Cells[8,i+1].ForeText:=trim(FieldByName('b1').AsString);
                 grid1.Cells[9,i+1].ForeText:=trim(FieldByName('b2').AsString);
                 next;
                 inc(i);
            end;///while
         end;//if
     end;//with
/////计算偏度和散度//////////////////////
     //////首先计算偏度=是关联两期号码的关键////////////////rid///
     /////计算公式为本期的每一个号码与上一期的号码分别相减得出6个最小值
     /////偏度就是最小值中最大的一个//////////////////////////////////
     /////那么就可以通过本期的号码和预测出下期的偏度得出一个到两个下期号码
     iSortList1:=TStringList.Create;
     iSortList2:=TStringList.Create;
     iSortList3:=TStringList.Create;
     iSortList4:=TStringList.Create;
     iSortList5:=TStringList.Create;
     iSortList6:=TStringList.Create;
     iSortList7:=TStringList.Create;
     for i:=3 to grid1.RowCount-1  do
     begin
         iSortList1.Clear;
         iSortList2.Clear;
         iSortList3.Clear;
         iSortList4.Clear;
         iSortList5.Clear;
         iSortList6.Clear;
         for j:=2 to 7 do
         begin
             if abs(strToInt(grid1.cells[2,i].foretext)-strToInt(grid1.cells[j,i-1].foretext))<10 then
             begin
                PDMin1[j,i]:='0'+formatFloat('##0',abs(strToInt(grid1.cells[2,i].foretext)-strToInt(grid1.cells[j,i-1].foretext)));
             end
             else
                PDMin1[j,i]:=formatFloat('##0',abs(strToInt(grid1.cells[2,i].foretext)-strToInt(grid1.cells[j,i-1].foretext)));
             if abs(strToInt(grid1.cells[3,i].foretext)-strToInt(grid1.cells[j,i-1].foretext))<10 then
             begin
                PDMin2[j,i]:='0'+formatFloat('##0',abs(strToInt(grid1.cells[3,i].foretext)-strToInt(grid1.cells[j,i-1].foretext)));
             end
             else
                PDMin2[j,i]:=formatFloat('##0',abs(strToInt(grid1.cells[3,i].foretext)-strToInt(grid1.cells[j,i-1].foretext)));
             if abs(strToInt(grid1.cells[4,i].foretext)-strToInt(grid1.cells[j,i-1].foretext))<10 then
             begin
                PDMin3[j,i]:='0'+formatFloat('##0',abs(strToInt(grid1.cells[4,i].foretext)-strToInt(grid1.cells[j,i-1].foretext)));
             end
             else
                PDMin3[j,i]:=formatFloat('##0',abs(strToInt(grid1.cells[4,i].foretext)-strToInt(grid1.cells[j,i-1].foretext)));
             if abs(strToInt(grid1.cells[5,i].foretext)-strToInt(grid1.cells[j,i-1].foretext))<10 then
             begin
                PDMin4[j,i]:='0'+formatFloat('##0',abs(strToInt(grid1.cells[5,i].foretext)-strToInt(grid1.cells[j,i-1].foretext)));
             end
             else
                PDMin4[j,i]:=formatFloat('##0',abs(strToInt(grid1.cells[5,i].foretext)-strToInt(grid1.cells[j,i-1].foretext)));
             if abs(strToInt(grid1.cells[6,i].foretext)-strToInt(grid1.cells[j,i-1].foretext))<10 then
             begin
                PDMin5[j,i]:='0'+formatFloat('##0',abs(strToInt(grid1.cells[6,i].foretext)-strToInt(grid1.cells[j,i-1].foretext)));
             end
             else
                PDMin5[j,i]:=formatFloat('##0',abs(strToInt(grid1.cells[6,i].foretext)-strToInt(grid1.cells[j,i-1].foretext)));
             if abs(strToInt(grid1.cells[7,i].foretext)-strToInt(grid1.cells[j,i-1].foretext))<10 then
             begin
                PDMin6[j,i]:='0'+formatFloat('##0',abs(strToInt(grid1.cells[7,i].foretext)-strToInt(grid1.cells[j,i-1].foretext)));
             end
             else
                PDMin6[j,i]:=formatFloat('##0',abs(strToInt(grid1.cells[7,i].foretext)-strToInt(grid1.cells[j,i-1].foretext)));
             iSortList1.Add(PDMin1[j,i]);
             iSortList2.Add(PDMin2[j,i]);
             iSortList3.Add(PDMin3[j,i]);
             iSortList4.Add(PDMin4[j,i]);
             iSortList5.Add(PDMin5[j,i]);
             iSortList6.Add(PDMin6[j,i]);
         end;///for j
         iSortList1.Sort;
         iSortList2.Sort;
         iSortList3.Sort;
         iSortList4.Sort;
         iSortList5.Sort;
         iSortList6.Sort;
         //showmessage(isortlist1[0]);
         //showmessage(isortlist2[0]);
         iSortList7.Clear;
         iSortList7.Add(iSortList1[0]);
         iSortList7.Add(iSortList2[0]);
         iSortList7.Add(iSortList3[0]);
         iSortList7.Add(iSortList4[0]);
         iSortList7.Add(iSortList5[0]);
         iSortList7.Add(iSortList6[0]);
         iSortList7.Sort;
         grid1.Cells[10,i].ForeText:=formatFloat('##0',abs(strtoint(iSortList7[iSortList7.count-1])));
     end;//for i
////////计算散度值//////////////////////////////////////////
//////散度值是衡量基本号码之间的集中程度。红球的散度是指1-33这33个号码与6个基本号码之间的差的绝对值
//////的最小值中的最大的一个.散度值越大,基本号码的集中程度越高。而且散度值与偏度有着很密切的关系
//////本期的散度值是下一期偏度的最大值
///////
     iSDSortList1:=TStringList.Create;
     iSDSortList2:=TStringList.Create;
     iSDSortList3:=TStringList.Create;
     iSDSortList4:=TStringList.Create;
     iSDSortList5:=TStringList.Create;
     iSDSortList6:=TStringList.Create;
     iSDSortList7:=TStringList.Create;
     iSDSortList8:=TStringList.Create;
     iSDSortList9:=TStringList.Create;
     iSDSortList10:=TStringList.Create;
     iSDSortList11:=TStringList.Create;
     iSDSortList12:=TStringList.Create;
     iSDSortList13:=TStringList.Create;
     iSDSortList14:=TStringList.Create;
     iSDSortList15:=TStringList.Create;
     iSDSortList16:=TStringList.Create;
     iSDSortList17:=TStringList.Create;
     iSDSortList18:=TStringList.Create;
     iSDSortList19:=TStringList.Create;
     iSDSortList20:=TStringList.Create;
     iSDSortList21:=TStringList.Create;
     iSDSortList22:=TStringList.Create;
     iSDSortList23:=TStringList.Create;
     iSDSortList24:=TStringList.Create;
     iSDSortList25:=TStringList.Create;
     iSDSortList26:=TStringList.Create;
     iSDSortList27:=TStringList.Create;
     iSDSortList28:=TStringList.Create;
     iSDSortList29:=TStringList.Create;
     iSDSortList30:=TStringList.Create;
     iSDSortList31:=TStringList.Create;
     iSDSortList32:=TStringList.Create;
     iSDSortList33:=TStringList.Create;
     iSDSortList7x:=TStringlist.create;
     for i:=2 to grid1.RowCount-1  do
     begin
         iSDSortList1.Clear;
         iSDSortList2.Clear;
         iSDSortList3.Clear;
         iSDSortList4.Clear;
         iSDSortList5.Clear;
         iSDSortList6.Clear;
         iSDSortList7.Clear;
         iSDSortList8.Clear;
         iSDSortList9.Clear;
         iSDSortList10.Clear;
         iSDSortList11.Clear;
         iSDSortList12.Clear;
         iSDSortList13.Clear;
         iSDSortList14.Clear;
         iSDSortList15.Clear;
         iSDSortList16.Clear;
         iSDSortList17.Clear;
         iSDSortList18.Clear;
         iSDSortList19.Clear;
         iSDSortList20.Clear;
         iSDSortList21.Clear;
         iSDSortList22.Clear;
         iSDSortList23.Clear;
         iSDSortList24.Clear;
         iSDSortList25.Clear;
         iSDSortList26.Clear;
         iSDSortList27.Clear;
         iSDSortList28.Clear;
         iSDSortList29.Clear;
         iSDSortList30.Clear;
         iSDSortList31.Clear;
         iSDSortList32.Clear;
         iSDSortList33.Clear;
         for j:=2 to  7 do
         begin
             if  abs(1-strToInt(grid1.cells[j,i].foretext))<10 then
             begin
                 SDMin1[j,i]:='0'+trim(formatFloat('##0',abs(1-strToInt(grid1.cells[j,i].foretext))));
             end
             else
                 SDMin1[j,i]:=trim(formatFloat('##0',abs(1-strToInt(grid1.cells[j,i].foretext))));
             if  abs(2-strToInt(grid1.cells[j,i].foretext))<10 then
             begin
                 SDMin2[j,i]:='0'+trim(formatFloat('##0',abs(2-strToInt(grid1.cells[j,i].foretext))));
             end
             else
                 SDMin2[j,i]:=trim(formatFloat('##0',abs(2-strToInt(grid1.cells[j,i].foretext))));
              if  abs(3-strToInt(grid1.cells[j,i].foretext))<10 then
             begin
                 SDMin3[j,i]:='0'+trim(formatFloat('##0',abs(3-strToInt(grid1.cells[j,i].foretext))));
             end
             else
                 SDMin3[j,i]:=trim(formatFloat('##0',abs(3-strToInt(grid1.cells[j,i].foretext))));
             /////
             if  abs(4-strToInt(grid1.cells[j,i].foretext))<10 then
             begin
                 SDMin4[j,i]:='0'+trim(formatFloat('##0',abs(4-strToInt(grid1.cells[j,i].foretext))));
             end
             else
                 SDMin4[j,i]:=trim(formatFloat('##0',abs(4-strToInt(grid1.cells[j,i].foretext))));
             if  abs(5-strToInt(grid1.cells[j,i].foretext))<10 then
             begin
                 SDMin5[j,i]:='0'+trim(formatFloat('##0',abs(5-strToInt(grid1.cells[j,i].foretext))));
             end
             else
                 SDMin5[j,i]:=trim(formatFloat('##0',abs(5-strToInt(grid1.cells[j,i].foretext))));
              if  abs(6-strToInt(grid1.cells[j,i].foretext))<10 then
             begin
                 SDMin6[j,i]:='0'+trim(formatFloat('##0',abs(6-strToInt(grid1.cells[j,i].foretext))));
             end
             else
                 SDMin6[j,i]:=trim(formatFloat('##0',abs(6-strToInt(grid1.cells[j,i].foretext))));
             ////////
             if  abs(7-strToInt(grid1.cells[j,i].foretext))<10 then
             begin
                 SDMin7[j,i]:='0'+trim(formatFloat('##0',abs(7-strToInt(grid1.cells[j,i].foretext))));
             end
             else
                 SDMin7[j,i]:=trim(formatFloat('##0',abs(7-strToInt(grid1.cells[j,i].foretext))));
             if  abs(8-strToInt(grid1.cells[j,i].foretext))<10 then
             begin
                 SDMin8[j,i]:='0'+trim(formatFloat('##0',abs(8-strToInt(grid1.cells[j,i].foretext))));
             end
             else
                 SDMin8[j,i]:=trim(formatFloat('##0',abs(8-strToInt(grid1.cells[j,i].foretext))));
              if  abs(9-strToInt(grid1.cells[j,i].foretext))<10 then
             begin
                 SDMin9[j,i]:='0'+trim(formatFloat('##0',abs(9-strToInt(grid1.cells[j,i].foretext))));
             end
             else
                 SDMin9[j,i]:=trim(formatFloat('##0',abs(9-strToInt(grid1.cells[j,i].foretext))));
             //////////
             if  abs(10-strToInt(grid1.cells[j,i].foretext))<10 then
             begin
                 SDMin10[j,i]:='0'+trim(formatFloat('##0',abs(10-strToInt(grid1.cells[j,i].foretext))));
             end
             else
                 SDMin10[j,i]:=trim(formatFloat('##0',abs(10-strToInt(grid1.cells[j,i].foretext))));
             if  abs(11-strToInt(grid1.cells[j,i].foretext))<10 then
             begin

⌨️ 快捷键说明

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