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

📄 form_techanalysel.pas

📁 双色球分析软件
💻 PAS
📖 第 1 页 / 共 5 页
字号:
         grid3_1.Cells[1,5].ForeText:='本期散度';
         grid3_1.SetMerges(rect(2,5,grid3_1.ColCount-1,5));
         ///////////////////////////////
         grid3_1.SetMerges(rect(1,6,1,15));
         grid3_1.Cells[1,6].ForeText:='下期偏度';
         grid3_1.Cells[2,6].ForeText:='偏度值';
         grid3_1.SetMerges(rect(3,6,5,6));
         grid3_1.Cells[3,6].ForeText:='计算得到的号码';
         grid3_1.ColWidths[3]:=150;
         grid3_1.ColWidths[4]:=150;
         grid3_1.ColWidths[5]:=150;

         grid3_1.Cells[6,6].ForeText:='必出号码';
         grid3_1.ColWidths[6]:=120;
         ///////显示数据///////////////////////////////////////
         ///////得到上期的期号/////////////////
          /////取得最大的期号/////////////////////////
         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 Top 1 * From  CPData  order by  sID desc');
             prepared;
             open;
             if recordcount<>0 then
             begin
               sMax:=FieldByName('sID').AsString;
             end;//if
          end;////with
          grid3_1.Cells[2,2].ForeText:=trim(sMax);
          ///////得到本期的开奖号码///////////////////////////
          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  Where sID=:sID');
             parameters.ParamByName('sID').Value:=trim(sMax);
             prepared;
             open;
             if recordcount<>0 then
             begin
                grid3_1.Cells[2,3].ForeText:=FieldByName('r1').AsString;
                grid3_1.Cells[3,3].ForeText:=FieldByName('r2').AsString;
                grid3_1.Cells[4,3].ForeText:=FieldByName('r3').AsString;
                grid3_1.Cells[5,3].ForeText:=FieldByName('r4').AsString;
                grid3_1.Cells[6,3].ForeText:=FieldByName('r5').AsString;
                grid3_1.Cells[7,3].ForeText:=FieldByName('r6').AsString;
             end;//if
          end;////with
          ///(一)/////计算本期号码的偏度////////////////////////////
          ///showmessage(formatFloat('##0',strToInt(sMax)-1));
          //////得到偏度首先得到上期的开奖号码////////////////////
          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  Where sID=:sID');
             parameters.ParamByName('sID').Value:=formatFloat('##0',strToInt(sMax)-1);
             prepared;
             open;
             if recordcount<>0 then
             begin
                _LastID[1]:=FieldByName('r1').AsInteger;
                _LastID[2]:=FieldByName('r2').AsInteger;
                _LastID[3]:=FieldByName('r3').AsInteger;
                _LastID[4]:=FieldByName('r4').AsInteger;
                _LastID[5]:=FieldByName('r5').AsInteger;
                _LastID[6]:=FieldByName('r6').AsInteger;
             end;//if
          end;////with
          //////计算偏度(用本期的号码与上期号码相减)////////////////////
          _LeastValue1:=TStringlist.Create;
          _LeastValue2:=TStringlist.Create;
          _LeastValue3:=TStringlist.Create;
          _LeastValue4:=TStringlist.Create;
          _LeastValue5:=TStringlist.Create;
          _LeastValue6:=TStringlist.Create;
          _LeastValue7:=TStringlist.Create;
          for i:=1 to 6 do
          begin
               //showmessage(inttostr(_lastID[i]));
              //_LeastValue1.Add(formatFloat('##0',abs(strToInt(Grid3_1.cells[2,3].foretext)-_lastID[i])));
              if    abs(strToInt(Grid3_1.cells[2,3].foretext)-_lastID[i])<10 then
              begin
                   _LeastValue1.Add('0'+formatFloat('##0',abs(strToInt(Grid3_1.cells[2,3].foretext)-_lastID[i])));
              end
              else
                 _LeastValue1.Add(formatFloat('##0',abs(strToInt(Grid3_1.cells[2,3].foretext)-_lastID[i])));
              /////
              if    abs(strToInt(Grid3_1.cells[3,3].foretext)-_lastID[i])<10 then
              begin
                   _LeastValue2.Add('0'+formatFloat('##0',abs(strToInt(Grid3_1.cells[3,3].foretext)-_lastID[i])));
              end
              else
                 _LeastValue2.Add(formatFloat('##0',abs(strToInt(Grid3_1.cells[3,3].foretext)-_lastID[i])));
              /////
              if    abs(strToInt(Grid3_1.cells[4,3].foretext)-_lastID[i])<10 then
              begin
                   _LeastValue3.Add('0'+formatFloat('##0',abs(strToInt(Grid3_1.cells[4,3].foretext)-_lastID[i])));
              end
              else
                 _LeastValue3.Add(formatFloat('##0',abs(strToInt(Grid3_1.cells[4,3].foretext)-_lastID[i])));
              //////
              if    abs(strToInt(Grid3_1.cells[5,3].foretext)-_lastID[i])<10 then
              begin
                   _LeastValue4.Add('0'+formatFloat('##0',abs(strToInt(Grid3_1.cells[5,3].foretext)-_lastID[i])));
              end
              else
                 _LeastValue4.Add(formatFloat('##0',abs(strToInt(Grid3_1.cells[5,3].foretext)-_lastID[i])));
              ////
              if    abs(strToInt(Grid3_1.cells[6,3].foretext)-_lastID[i])<10 then
              begin
                   _LeastValue5.Add('0'+formatFloat('##0',abs(strToInt(Grid3_1.cells[6,3].foretext)-_lastID[i])));
              end
              else
                 _LeastValue5.Add(formatFloat('##0',abs(strToInt(Grid3_1.cells[6,3].foretext)-_lastID[i])));
              //////
              if    abs(strToInt(Grid3_1.cells[7,3].foretext)-_lastID[i])<10 then
              begin
                   _LeastValue6.Add('0'+formatFloat('##0',abs(strToInt(Grid3_1.cells[7,3].foretext)-_lastID[i])));
              end
              else
                 _LeastValue6.Add(formatFloat('##0',abs(strToInt(Grid3_1.cells[7,3].foretext)-_lastID[i])));


          end;////
          _LeastValue1.Sort;
          _LeastValue2.Sort;
          _LeastValue3.Sort;
          _LeastValue4.Sort;
          _LeastValue5.Sort;
          _LeastValue6.Sort;
          _leastValue7.Clear;
          _LeastValue7.Add(_leastvalue1[0]);
          //showmessage(_leastvalue2[0]);
          _LeastValue7.Add(_leastvalue2[0]);
          _LeastValue7.Add(_leastvalue3[0]);
          _LeastValue7.Add(_leastvalue4[0]);
          //showmessage(_leastvalue2[0]);
          _LeastValue7.Add(_leastvalue5[0]);
          _LeastValue7.Add(_leastvalue6[0]);
          _LeastValue7.Sort;
          grid3_1.cells[2,4].ForeText:=_LeastValue7[_leastValue7.count-1];
        ////(二)计算本期号码的散度///////////////////////////
          grid3_1.Cells[2,5].ForeText:=trim(grid1.cells[11,grid1.rowcount-1].foretext);
        /////计算各个偏度时的号码////////////////////////////
          for i:=0 to 6 do
          begin
              grid3_1.Cells[2,i+7].ForeText:=formatFloat('##0',strtoint(trim(grid3_1.Cells[2,5].ForeText))-i);
          end;//
          ///////////////
          for j:=1 to 7 do
          begin
              for i:=1 to 7 do
              begin
                  _LeastPDValue[j,i]:=TStringList.Create;
                //_LeastPDValue1[i]:=TStringList.Create;
              end;///
          end;
          for j:=0 to 6 do
          begin
              for i:=1 to 6 do
              begin
                  //////相减////////////
                  if   (abs(strToInt(grid3_1.cells[2,j+7].foretext)-strToInt(grid3_1.cells[i+1,3].foretext))>0) and (abs(strToInt(grid3_1.cells[2,j+7].foretext)-strToInt(grid3_1.cells[i+1,3].foretext))<10) then
                  begin
                      _LeastPDValue[1,j+1].Add('0'+formatFloat('##0',abs(strToInt(grid3_1.cells[2,j+7].foretext)-strToInt(grid3_1.cells[i+1,3].foretext))));
                  end
                  else
                  begin
                      //if (abs(strToInt(grid3_1.cells[2,j+7].foretext)-strToInt(grid3_1.cells[i+1,3].foretext))>0) then
                     //begin
                          _LeastPDValue[1,j+1].Add(formatFloat('##0',abs(strToInt(grid3_1.cells[2,j+7].foretext)-strToInt(grid3_1.cells[i+1,3].foretext))));
                     // end;    
                  end;
                  /////相加////////////////
                  if   (abs(strToInt(grid3_1.cells[2,j+7].foretext)+strToInt(grid3_1.cells[i+1,3].foretext))<10) and  (abs(strToInt(grid3_1.cells[2,j+7].foretext)+strToInt(grid3_1.cells[i+1,3].foretext))<34) then
                  begin
                      _LeastPDValue[2,j+1].Add('0'+formatFloat('##0',abs(strToInt(grid3_1.cells[2,j+7].foretext)+strToInt(grid3_1.cells[i+1,3].foretext))));
                  end
                  else
                      _LeastPDValue[2,j+1].Add(formatFloat('##0',abs(strToInt(grid3_1.cells[2,j+7].foretext)+strToInt(grid3_1.cells[i+1,3].foretext))));
               end;////for i
           end;//forj
           //showmessage(_LeastPDValue[1,2].text);
           //showmessage(_LeastPDValue[2,2].text);
           ///////////////////////////////
           for i:=1 to 7 do
           begin
               _LeastPDValue1[i]:=TStringList.Create;
           end;///
           /////将相减,想夹得到数据合并加入到_LeastPDValue1[]
           for j:=0 to 6 do
           begin
             for i:=0 to 5 do
             begin
                 if pos(_LeastPDValue[1,j+1][i],_LeastPDValue1[j+1].Text)>0 then
                 begin
                 end
                 else
                    _LeastPDValue1[j+1].Add(_LeastPDValue[1,j+1][i]);
                 if pos(_LeastPDValue[2,j+1][i],_LeastPDValue1[j+1].Text)>0 then
                 begin
                 end
                 else
                   _LeastPDValue1[j+1].Add(_LeastPDValue[2,j+1][i]);

              end; ///fori
            end;//forj
            for i:=1 to 7 do
            begin
                _LeastPDValue1[i].Sort;
            end;
             //showmessage(_LeastPDValue1[2].Text);
         /////将合并后数值分区///////////////////////////////
         for i:=1 to 7 do
         begin
             _Area1_Value[i]:=TStringList.Create;
             _Area2_Value[i]:=TStringList.Create;
             _Area3_Value[i]:=TStringList.Create;
             _Area1_Value[i].Clear;
              _Area2_Value[i].Clear;
              _Area3_Value[i].Clear;
          end;
          for i:=0 to 6  do
          begin
              for j:=0 to _LeastPDValue1[i+1].Count-1 do
              begin
                  ////一区/////
                  if (strToInt(_LeastPDValue1[i+1][j])>0) and (strToInt(_LeastPDValue1[i+1][j])<12) then
                  begin
                     _Area1_Value[i+1].Add(_LeastPDValue1[i+1][j])
                  end;
                  /////二区////////
                  if (strToInt(_LeastPDValue1[i+1][j])>=12) and (strToInt(_LeastPDValue1[i+1][j])<23) then
                  begin
                     _Area2_Value[i+1].Add(_LeastPDValue1[i+1][j])
                  end;
                  /////三区////////
                  if (strToInt(_LeastPDValue1[i+1][j])>=23) and (strToInt(_LeastPDValue1[i+1][j])<34) then
                  begin
                     _Area3_Value[i+1].Add(_LeastPDValue1[i+1][j])
                  end;
              end;
          end;///

          for i:=1 to 7 do
          begin
              for j:=0 to _Area1_Value[i].Count-1 do
              begin
                  _Area1[i]:=_Area1[i]+trim(_Area1_Value[i][j])+' ';
              end;
              for j:=0 to _Area2_Value[i].Count-1 do
              begin
                  _Area2[i]:=_Area2[i]+trim(_Area2_Value[i][j])+' ';
              end;
              for j:=0 to _Area3_Value[i].Count-1 do
              begin
                  _Area3[i]:=_Area3[i]+trim(_Area3_Value[i][j])+' ';
              end;
              Grid3_1.Cells[3,i+6].ForeText:=trim(_Area1[i]);
              Grid3_1.Cells[4,i+6].ForeText:=trim(_Area2[i]);
              Grid3_1.Cells[5,i+6].ForeText:=trim(_Area3[i]);
          end;//
          //showmessage(_Area1_Value.text);
         /////得出等于偏度值的数值///////////////////////////
         for i:=1 to 7 do
         begin
             _EqualPD[i]:=TStringList.Create;
             _EqualPD[i].Clear;
             _EqualPD1[i]:=TStringList.Create;
             _EqualPD1[i].Clear;
         end;///i
         for i:=1 to 6 do
         begin
             _R[i]:=strToInt(Grid3_1.cells[i+1,3].foretext);
         end;///
         //showmessage(_LeastPDValue1[2].text);
         /////过滤出必出号码将添入_EqualPD[]中///////////////////////////
         for i:=1 to 7  do
         begin
            for j:=0 to _LeastPDValue1[i].Count-1 do
            begin
                  if  (strToInt(_LeastPDValue1[i][j])>0)  and  (strToInt(_LeastPDValue1[i][j])<34) then
                  begin
                     

⌨️ 快捷键说明

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