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

📄 form_redfenxil.pas

📁 双色球分析软件
💻 PAS
📖 第 1 页 / 共 5 页
字号:
                 begin
                      FieldIndex:='r'+inttostr(j);
                      R_CPData1[j,i]:=FieldByName(FieldIndex).AsInteger;
                      //R_CPData2[i]:=FieldByName('r2').AsInteger;
                      //R_CPData3[i]:=FieldByName('r3').AsInteger;
                      //R_CPData4[i]:=FieldByName('r4').AsInteger;
                      //R_CPData5[i]:=FieldByName('r5').AsInteger;
                      //R_CPData6[i]:=FieldByName('r6').AsInteger;
                      R_CPID[i]:=FieldByName('sID').AsString;
                      next;
                      inc(i);
                 end;///while
              end;//if
            end;///with
          end;//forj
          /////统计奇数个数/////////////////////////////////
          OddNumber:=TStringList.Create;
          OddNumberCount:=TStringList.Create;
          for i:=0 to 27 do
          begin
             OddNumber.Clear;
             for j:=1 to 6 do
             begin
                 case R_CPData1[j,i] of
                 1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33:
                   begin
                      OddNumber.Add(inttostr(R_CPData1[j,i]));
                   end;
                 end;///case结束
             end; ////for j////
             OddNumberCount.Add(inttostr(OddNumber.Count));
          end;//for i
          //showmessage(OddNumberCount.text);
          chart20.Series[0].Clear;
          for i:=0 to 27 do
          begin
              LineSeries19.Add(strtoint(OddNumberCount[i]),R_CPID[i],clteecolor);
          end;//for i
          ///////统计质数个数//////////////////
          PrimeNumber:=TStringList.Create;
          PrimeNumberCount:=TStringList.Create;
          for i:=0 to 27 do
          begin
             PrimeNumber.Clear;
             for j:=1 to 6 do
             begin
                 case R_CPData1[j,i] of
                 2,3,5,7,11,13,17,19,23,29,31:
                   begin
                      PrimeNumber.Add(inttostr(R_CPData1[j,i]));
                   end;
                 end;///case结束
             end; ////for j////
             PrimeNumberCount.Add(inttostr(PrimeNumber.Count));
          end;//for i
          //showmessage(OddNumberCount.text);
          chart21.Series[0].Clear;
          for i:=0 to 27 do
          begin
              LineSeries20.Add(strtoint(PrimeNumberCount[i]),'',clteecolor);
          end;//for i
          /////统计大数个数///////////////////////
          BigNumber:=TStringList.Create;
          BigNumberCount:=TStringList.Create;
          for i:=0 to 27 do
          begin
             BigNumber.Clear;
             for j:=1 to 6 do
             begin
                 case R_CPData1[j,i] of
                   17..33:
                   begin
                      BigNumber.Add(inttostr(R_CPData1[j,i]));
                   end;
                 end;///case结束
             end; ////for j////
             BigNumberCount.Add(inttostr(BigNumber.Count));
          end;//for i
          //showmessage(OddNumberCount.text);
          chart22.Series[0].Clear;
          for i:=0 to 27 do
          begin
              LineSeries21.Add(strtoint(BigNumberCount[i]),'',clteecolor);
          end;//for i
          /////统计尾数个数//////////////////////
          LastNumber:=TStringList.Create;
          LastNumberCount:=TStringList.Create;
          for i:=0 to 27 do
          begin
             LastNumber.Clear;
             for j:=1 to 6 do
             begin

                    if length(inttostr(R_CPData1[j,i]))=1 then
                    begin
                       if pos(inttostr(R_CPData1[j,i]),LastNumber.text)>0 then
                       begin
                       end
                       else
                          LastNumber.Add(inttostr(R_CPData1[j,i]));
                    end/////length
                    else
                    begin
                       if pos(copy(inttostr(R_CPData1[j,i]),2,1),lastNumber.text)>0 then
                       begin
                       end
                       else
                          lastNumber.Add(copy(inttostr(R_CPData1[j,i]),2,1));
                    end;
                    //showmessage(lastNumber.text);

             end; ////for j////
             //BigNumberCount.Add(inttostr(BigNumber.Count));
             LastNumberCount.Add(inttostr(LastNumber.Count));
          end;//for i
          //showmessage(lastNumber.text);
          chart23.Series[0].Clear;
          for i:=0 to 27 do
          begin
              LineSeries22.Add(strtoint(lastNumberCount[i]),'',clteecolor);
          end;////tabctrl=6
     end;     
////////TabCtrl.index=6是号码特征图结束//////////////////////
////////TabCtrl.Tabindex=7是三区的曲线图/////////////////////
     if TabCtrl.TabIndex=7 then
     begin
        chart24.Series[0].Clear;
        chart25.Series[0].Clear;
        chart26.Series[0].Clear;
        for i:=0 to 27 do
        begin
            LineSeries23.Add(strToInt(copy(trim(grid1.cells[37,i+2].foretext),1,1)),R_CPID[i+1],clteecolor);
            LineSeries24.Add(strToInt(copy(trim(grid1.cells[37,i+2].foretext),3,1)),'',clteecolor);
            LineSeries25.Add(strToInt(copy(trim(grid1.cells[37,i+2].foretext),5,1)),'',clteecolor);
        end;;//i
     end;////tabctrl=7
////////TabCtrl.Tabindex=7结束是三区的曲线图/////////////////
////////TabCtrl.tabindex=8是1,2,0间隔分析图////////////////
     if TabCtrl.TabIndex=8 then
     begin
         grid2.ColWidths[1]:=45;
         grid2.Cells[1,1].ForeText:='期号';
         grid2.RowHeights[1]:=20;
         for i:=2 to 12 do
         begin
             grid2.ColWidths[i]:=20;
             grid2.cells[i,1].foretext:=inttostr((i-1)*3-2);
             //grid2.cells[i,1].foretext:=inttostr(i-1);
         end;
         for i:=13 to 23 do
         begin
             grid2.ColWidths[i]:=20;
             grid2.cells[i,1].foretext:=inttostr((i-12)*3-1);
             //grid2.cells[i,1].foretext:=inttostr(i-1);
         end;
         for i:=24 to 34 do
         begin
             grid2.ColWidths[i]:=20;
             grid2.cells[i,1].foretext:=inttostr((i-23)*3);
             //grid2.cells[i,1].foretext:=inttostr(i-1);
         end;
         grid2.Cells[35,1].ForeText:='和值';
         grid2.ColWidths[35]:=36;
         grid2.Cells[36,1].ForeText:='和值差';
         grid2.ColWidths[36]:=40;
         grid2.Cells[37,1].ForeText:='区域比';
         grid2.ColWidths[37]:=55;
         grid2.Cells[38,1].ForeText:='除3余';
         grid2.ColWidths[38]:=50;
         grid2.Cells[39,1].ForeText:='大小';
         grid2.ColWidths[39]:=36;

         ////////红球分布图///////////////////////////////////
         for i:=2 to 34 do
         begin
             grid2.Cells[i,1].Color:=rgb(255,255,0);
         end;/////
         grid2.Cells[35,1].Color:=rgb(233,240,210);;
         grid2.Cells[36,1].Color:=rgb(245,245,245);
         grid2.Cells[37,1].Color:=rgb(245,245,245);
         grid2.Cells[38,1].Color:=rgb(245,245,245);
         grid2.Cells[39,1].Color:=rgb(245,245,245);

         ///////首先取得数据//////////////////////////////
         ////显示数据////////////////////////////
     grid2.rowcount:=grid1.rowcount;
     for i:=1 to 28 do
         begin
             for w:=1 to 6 do
             begin
                 for j:=2 to 34 do
                 begin
                     if CP_Data[i,w]=j-1 then
                     begin
                        if (CP_Data[i,w] mod 3)=1 then
                        begin
                            grid2.Cells[strToInt(formatFloat('##0',(2+(j-2)/3))),i+1].ForeText:=inttostr(j-1);
                        end;
                        if (CP_Data[i,w] mod 3)=2 then
                        begin
                           grid2.Cells[strToInt(formatFloat('##0',(13+(j-3)/3))),i+1].ForeText:=inttostr(j-1);
                        end;
                        if (CP_Data[i,w] mod 3)=0 then
                        begin
                           grid2.Cells[strToInt(formatFloat('##0',(24+(j-4)/3))),i+1].ForeText:=inttostr(j-1);
                        end;
                     end;//if
                  end;///j
              end;///w
         end;///for i
         ///////////////////////////////////////////////////
           for i:=1 to grid2.RowCount-1 do
           begin
               grid2.Cells[1,i].Color:=rgb(58,110,165);
               grid2.Cells[1,i].FontColor:=rgb(255,255,255);
               grid2.Cells[1,i].ForeText:=grid1.cells[1,i].ForeText;
           end;
           //////////
           //grid2.InsertRow(rect(1,grid2.RowCount,grid2.ColCount-1,grid2.RowCount));
           grid2.Cells[1,grid2.RowCount-1].ForeText:='预测';
           grid2.Cells[1,grid2.RowCount-1].Color:=rgb(0,255,0);
           for i:=2 to 12 do
           begin
               grid2.ColWidths[i]:=20;
               grid2.cells[i,grid2.RowCount-1].foretext:=inttostr((i-1)*3-2);
             //grid2.cells[i,1].foretext:=inttostr(i-1);
           end;
           for i:=13 to 23 do
           begin
               grid2.ColWidths[i]:=20;
               grid2.cells[i,grid2.RowCount-1].foretext:=inttostr((i-12)*3-1);
             //grid2.cells[i,1].foretext:=inttostr(i-1);
           end;
           for i:=24 to 34 do
           begin
               grid2.ColWidths[i]:=20;
               grid2.cells[i,grid2.RowCount-1].foretext:=inttostr((i-23)*3);
             //grid2.cells[i,1].foretext:=inttostr(i-1);
           end;
           for i:=2 to 34 do
           begin
             grid2.Cells[i,grid2.RowCount-1].Color:=rgb(255,255,0);
           end;/////
           ////////计算和值与标准数102差////////////////////
           for i:=2 to grid2.RowCount-2 do
           begin
               grid2.Cells[35,i].ForeText:=grid1.cells[35,i].ForeText;
           end;/////
           for i:=2 to grid2.RowCount-2 do
           begin
              grid2.Cells[36,i].ForeText:=formatFloat('##0',strToFloat(grid2.cells[35,i].ForeText)-102);
           end;///
           ///////////////////////////////////////////////////
           grid2.Refresh; 
     end;/////if=8

////////Tabctrl.tabindex=8结束////////////////////////////////
////////TabCtrl.index=9////////////////////////////////////////
      if TabCtrl.TabIndex=9 then
      begin
          //////对行扫描//////////////////////////
          x:=1;
          for j:=2 to 34 do
          begin
             for i:=2 to grid3.RowCount-2 do
             begin
                 ///x:=1;
                 if grid3.Cells[j,i].ForeText='' then
                 begin
                    inc(x);
                    grid3.Cells[j,i].ForeText:=inttostr(x-1);
                 end
                 else
                    x:=1;
             end;////i
          end;///j
          grid3.Refresh; 
      end;///if =9
////////TabCtrl.index=9结束/////////////////////////////////////
////////TabCtrl.index=10开始////////////////////////////////////
      if TabCtrl.TabIndex=10 then
      begin
         ///首先得到彩票的数据//////////
         for j:=1 to 6 do
         begin
            with    AdoQuery1 do
            begin
              connectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+CurrentPath+'\sale.mdb;Persist Security Info=False';
              close;
              sql.Clear;
              strSql:='Select * From  CPData  where sID>="'+sbeginID+'"  and  sID<="'+sEndID+'"  order by sID';
              sql.Add(strSql);
              prepared;
              open;
              if recordcount<>0 then
              begin
                 i:=0;
                 while not eof do
                 begin
                      FieldIndex:='r'+inttostr(j);
                      R_CPData1[j,i]:=FieldByName(FieldIndex).AsInteger;
                      //R_CPData2[i]:=FieldByName('r2').AsInteger;
                      //R_CPData3[i]:=FieldByName('r3').AsInteger;
                      //R_CPData4[i]:=FieldByName('r4').AsInteger;
                      //R_CPData5[i]:=FieldByName('r5').AsInteger;
                      //R_CPData6[i]:=FieldByName('r6').AsInteger;
                      R_CPID[i]:=FieldByName('sID').AsString;
                      next;
                      inc(i);
                 end;///while
              end;//if
            end;///with
          end;//forj
         for i:=0 to 27 do
         begin
             for j:=1 to 6 do
             begin
                 R_CPTotal[i+1]:=R_CPTotal[i+1]+R_CPData1[j,i]
             end;//j
         end;//for i
         //showmessage(inttostr(R_CPTotal[1]));
         chart27.Series[0].Clear;
         chart28.Series[0].Clear;

         //////计算和差及画柱型图/////////////////////////////////
         for i:=0 to 27 do
         begin
             R_CPTotalSub[i+2]:=R_CPTotal[i+2]-R_CPTotal[i+1];
             //R_CPTotalSub1[i+2]:=R_CPTotal[i+2]-R_CPTotal[i+1];
         end;
         R_CPTotalSub[1]:=15;
         R_CPTotalSub1[1]:=15;
         for i:=0 to 27 do
         begin
             series8.Add(R_CPTotalSub[i+1],'',clteecolor);
             //Series9.Add(R_CPTotalSub1[i+1],'',clteecolor);
         end;//
         ///////得到和值尾数及画尾数柱型图//////////////////////
         for i:=0 to 27 do
         begin
             TotalLastNum[i+1]:=strtoint(copy(inttostr(R_CPTotal[i+1]),length(inttostr(R_CPTotal[i+1])),1));
         end;///
         /////计算尾数之间的差值////////////////////
         TotalLastNumSub[1]:=2;
         for i:=0 to 27 do
         begin
             TotalLastNumSub[i+2]:= TotalLastNum[i+2]-TotalLastNum[i+1];
         end;/////
         //////////////////////////////////////////////
         for i:=0 to 27 do
         begin
             series9.Add(TotalLastNumSub[i+1],'',clteecolor);
             //Series9.Add(R_CPTotalSub1[i+1],'',clteecolor);
         end;//

⌨️ 快捷键说明

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