📄 form_redfenxil.pas
字号:
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 + -