using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Common;
using DevExpress.LookAndFeel;
using System.Threading;
using Entity;
using DevExpress.XtraEditors;
namespace CaiPiao
{
/// <summary>
/// 羅旭成
/// 2014年11月26日
/// http://www.cnblogs.com/jara/
/// </summary>
public partial class CaiPiaoForm : BaseForm
{
public CaiPiaoForm()
: base()
{
DevExpress.UserSkins.BonusSkins.Register();
UserLookAndFeel.Default.SetSkinStyle("Office 2007 Blue");
InitializeComponent();
}
#region * 查詢
protected override void btnSearch_Click(object sender, EventArgs e)
{
try
{
base.ShowWaitDialog("正在查詢,請稍候...");
//--
base.btnSearch_Click(sender, e);
//基本走勢圖
ThreadPool.QueueUserWorkItem(new WaitCallback(GetData1));
//紅球三分區走勢圖
ThreadPool.QueueUserWorkItem(new WaitCallback(GetData2));
//紅球四分區走勢圖
ThreadPool.QueueUserWorkItem(new WaitCallback(GetData3));
//紅球七分區走勢圖
ThreadPool.QueueUserWorkItem(new WaitCallback(GetData4));
//籃球綜合走勢圖
ThreadPool.QueueUserWorkItem(new WaitCallback(GetData5));
//紅球連号走勢圖
ThreadPool.QueueUserWorkItem(new WaitCallback(GetData6));
//紅球和值走勢圖
ThreadPool.QueueUserWorkItem(new WaitCallback(GetData7));
//曆史資料
ThreadPool.QueueUserWorkItem(new WaitCallback(GetData8));
}
catch (Exception exMsg)
{
XtraMessageBox.Show("查詢出錯:" + exMsg.ToString());
}
finally
{
base.CloseWaitDialog();
}
}
#endregion
#region * 基本走勢圖
/// <summary>
/// 基本走勢圖
/// </summary>
/// <param name="obj"></param>
private void GetData1(object obj)
{
table.Clear();
cleantable.Clear();
if (listWinNo != null && listWinNo.Count > 0)
{
foreach (WinNo item in listWinNo)
{
DataRow dr = table.NewRow();
dr["QiHao"] = item.QiHao;
dr["R" + item.R1] = "R" + GetStr(item.R1.ToString());//紅1
dr["R" + item.R2] = "R" + GetStr(item.R2.ToString());//紅2
dr["R" + item.R3] = "R" + GetStr(item.R3.ToString());//紅3
dr["R" + item.R4] = "R" + GetStr(item.R4.ToString());//紅4
dr["R" + item.R5] = "R" + GetStr(item.R5.ToString());//紅5
dr["R" + item.R6] = "R" + GetStr(item.R6.ToString());//紅6
dr["B" + item.B] = "B" + GetStr(item.B.ToString());//籃球
table.Rows.Add(dr);
DataRow cleandr = cleantable.NewRow();
cleandr["QiHao"] = item.QiHao;
cleandr["R" + item.R1] = GetStr(item.R1.ToString());//紅1
cleandr["R" + item.R2] = GetStr(item.R2.ToString());//紅2
cleandr["R" + item.R3] = GetStr(item.R3.ToString());//紅3
cleandr["R" + item.R4] = GetStr(item.R4.ToString());//紅4
cleandr["R" + item.R5] = GetStr(item.R5.ToString());//紅5
cleandr["R" + item.R6] = GetStr(item.R6.ToString());//紅6
cleandr["B" + item.B] = GetStr(item.B.ToString());//籃球
cleantable.Rows.Add(cleandr);
}
for (int j = 1; j < 34; j++)
{
int xint = 0;
for (int i = 0; i < table.Rows.Count; i++)
{
if (string.IsNullOrEmpty(table.Rows[i]["R" + j].ToString()))
{
xint++;
table.Rows[i]["R" + j] = xint;
}
else
{
xint = 0;
}
}
}
for (int j = 1; j < 17; j++)
{
int xint = 0;
for (int i = 0; i < table.Rows.Count; i++)
{
if (string.IsNullOrEmpty(table.Rows[i]["B" + j].ToString()))
{
xint++;
table.Rows[i]["B" + j] = xint;
}
else
{
xint = 0;
}
}
}
if (this.IsHandleCreated)
{
this.Invoke((MethodInvoker)delegate
{
if (flag)
{
cleantable.DefaultView.Sort = "QiHao DESC";
this.gridControl1.DataSource = cleantable.DefaultView.ToTable();
}
else
{
table.DefaultView.Sort = "QiHao DESC";
this.gridControl1.DataSource = table.DefaultView.ToTable();
}
});
}
}
}
#endregion
#region * 紅球三分區走勢圖
/// <summary>
/// 紅球三分區走勢圖
/// </summary>
/// <param name="obj"></param>
private void GetData2(object obj)
{
sedredtable.Clear();
sedcleanredtable.Clear();
if (listWinNo != null && listWinNo.Count > 0)
{
foreach (WinNo item in listWinNo)
{
List<int> redList = new List<int>();
redList.Add(item.R1);
redList.Add(item.R2);
redList.Add(item.R3);
redList.Add(item.R4);
redList.Add(item.R5);
redList.Add(item.R6);
//--
DataRow reddr = sedredtable.NewRow();
reddr["QiHao"] = item.QiHao;
reddr["R" + item.R1] = "R" + GetStr(item.R1.ToString());//紅1
reddr["R" + item.R2] = "R" + GetStr(item.R2.ToString());//紅2
reddr["R" + item.R3] = "R" + GetStr(item.R3.ToString());//紅3
reddr["R" + item.R4] = "R" + GetStr(item.R4.ToString());//紅4
reddr["R" + item.R5] = "R" + GetStr(item.R5.ToString());//紅5
reddr["R" + item.R6] = "R" + GetStr(item.R6.ToString());//紅6
reddr["A1"] = item.R1 + item.R2 + item.R3 + item.R4 + item.R5 + item.R6;//和值
reddr["A2"] = item.R6 - item.R1;//跨度
reddr["A3"] = GetQujian(redList);//區間比
reddr["A4"] = GetJio(redList);//奇偶比
sedredtable.Rows.Add(reddr);
DataRow cleanreddr = sedcleanredtable.NewRow();
cleanreddr["QiHao"] = item.QiHao;
cleanreddr["R" + item.R1] = GetStr(item.R1.ToString());//紅1
cleanreddr["R" + item.R2] = GetStr(item.R2.ToString());//紅2
cleanreddr["R" + item.R3] = GetStr(item.R3.ToString());//紅3
cleanreddr["R" + item.R4] = GetStr(item.R4.ToString());//紅4
cleanreddr["R" + item.R5] = GetStr(item.R5.ToString());//紅5
cleanreddr["R" + item.R6] = GetStr(item.R6.ToString());//紅6
cleanreddr["A1"] = item.R1 + item.R2 + item.R3 + item.R4 + item.R5 + item.R6;//和值
cleanreddr["A2"] = item.R6 - item.R1;//跨度
cleanreddr["A3"] = GetQujian(redList);//區間比
cleanreddr["A4"] = GetJio(redList);//奇偶比
sedcleanredtable.Rows.Add(cleanreddr);
}
for (int j = 1; j < 34; j++)
{
int xint = 0;
for (int i = 0; i < sedredtable.Rows.Count; i++)
{
if (string.IsNullOrEmpty(sedredtable.Rows[i]["R" + j].ToString()))
{
xint++;
sedredtable.Rows[i]["R" + j] = xint;
}
else
{
xint = 0;
}
}
}
if (this.IsHandleCreated)
{
this.Invoke((MethodInvoker)delegate
{
if (flag)
{
sedcleanredtable.DefaultView.Sort = "QiHao DESC";
this.gridControl2.DataSource = sedcleanredtable.DefaultView.ToTable();
}
else
{
sedredtable.DefaultView.Sort = "QiHao DESC";
this.gridControl2.DataSource = sedredtable.DefaultView.ToTable();
}
});
}
}
}
/// <summary>
/// 區間比
/// </summary>
/// <param name="redList"></param>
/// <returns></returns>
private string GetQujian(List<int> redList)
{
int xint1 = 0;
int xint2 = 0;
int xint3 = 0;
foreach (int item in redList)
{
if (item < 12)
{
xint1++;
}
else if (item > 11 && item < 23)
{
xint2++;
}
else if (item > 22)
{
xint3++;
}
}
return xint1.ToString() + ":" + xint2.ToString() + ":" + xint3.ToString();
}
/// <summary>
/// 奇偶比
/// </summary>
/// <param name="redList"></param>
/// <returns></returns>
private string GetJio(List<int> redList)
{
int xint1 = 0;//奇數
int xint2 = 0;//偶數
foreach (int item in redList)
{
if (item % 2 == 0)
{
xint2++;//偶數
}
else
{
xint1++;//奇數
}
}
return xint1.ToString() + ":" + xint2.ToString();
}
#endregion
#region * 紅球四分區走勢圖
/// <summary>
/// 紅球四分區走勢圖
/// </summary>
/// <param name="obj"></param>
private void GetData3(object obj)
{
fourredtable.Clear();
fourcleanredtable.Clear();
if (listWinNo != null && listWinNo.Count > 0)
{
foreach (WinNo item in listWinNo)
{
List<int> redList = new List<int>();
redList.Add(item.R1);
redList.Add(item.R2);
redList.Add(item.R3);
redList.Add(item.R4);
redList.Add(item.R5);
redList.Add(item.R6);
//--
DataRow reddr = fourredtable.NewRow();
reddr["QiHao"] = item.QiHao;
reddr["R" + item.R1] = "R" + GetStr(item.R1.ToString());//紅1
reddr["R" + item.R2] = "R" + GetStr(item.R2.ToString());//紅2
reddr["R" + item.R3] = "R" + GetStr(item.R3.ToString());//紅3
reddr["R" + item.R4] = "R" + GetStr(item.R4.ToString());//紅4
reddr["R" + item.R5] = "R" + GetStr(item.R5.ToString());//紅5
reddr["R" + item.R6] = "R" + GetStr(item.R6.ToString());//紅6
reddr["C1"] = GetFourFenQu(redList)[0];
reddr["C2"] = GetFourFenQu(redList)[1];
reddr["C3"] = GetFourFenQu(redList)[2];
reddr["C4"] = GetFourFenQu(redList)[3];
fourredtable.Rows.Add(reddr);
DataRow cleanreddr = fourcleanredtable.NewRow();
cleanreddr["QiHao"] = item.QiHao;
cleanreddr["R" + item.R1] = GetStr(item.R1.ToString());//紅1
cleanreddr["R" + item.R2] = GetStr(item.R2.ToString());//紅2
cleanreddr["R" + item.R3] = GetStr(item.R3.ToString());//紅3
cleanreddr["R" + item.R4] = GetStr(item.R4.ToString());//紅4
cleanreddr["R" + item.R5] = GetStr(item.R5.ToString());//紅5
cleanreddr["R" + item.R6] = GetStr(item.R6.ToString());//紅6
cleanreddr["C1"] = GetFourFenQu(redList)[0];
cleanreddr["C2"] = GetFourFenQu(redList)[1];
cleanreddr["C3"] = GetFourFenQu(redList)[2];
cleanreddr["C4"] = GetFourFenQu(redList)[3];
fourcleanredtable.Rows.Add(cleanreddr);
}
for (int j = 1; j < 34; j++)
{
int xint = 0;
for (int i = 0; i < fourredtable.Rows.Count; i++)
{
if (string.IsNullOrEmpty(fourredtable.Rows[i]["R" + j].ToString()))
{
xint++;
fourredtable.Rows[i]["R" + j] = xint;
}
else
{
xint = 0;
}
}
}
if (this.IsHandleCreated)
{
this.Invoke((MethodInvoker)delegate
{
if (flag)
{
fourcleanredtable.DefaultView.Sort = "QiHao DESC";
this.gridControl3.DataSource = fourcleanredtable.DefaultView.ToTable();
}
else
{
fourredtable.DefaultView.Sort = "QiHao DESC";
this.gridControl3.DataSource = fourredtable.DefaultView.ToTable();
}
});
}
}
}
/// <summary>
/// 四分區個數
/// </summary>
/// <param name="redList"></param>
/// <returns></returns>
private List<string> GetFourFenQu(List<int> redList)
{
List<string> retlist = new List<string>();
int xint1 = 0;
int xint2 = 0;
int xint3 = 0;
int xint4 = 0;
foreach (int item in redList)
{
if (item < 9)
{
xint1++;
}
else if (item > 8 && item <= 17)
{
xint2++;
}
else if (item > 17 && item < 26)
{
xint3++;
}
else if (item > 25)
{
xint4++;
}
}
retlist.Add(xint1.ToString());
retlist.Add(xint2.ToString());
retlist.Add(xint3.ToString());
retlist.Add(xint4.ToString());
return retlist;
}
#endregion
#region * 紅球七分區走勢圖
/// <summary>
/// 紅球七分區走勢圖
/// </summary>
/// <param name="obj"></param>
private void GetData4(object obj)
{
sevenredtable.Clear();
sevencleanredtable.Clear();
if (listWinNo != null && listWinNo.Count > 0)
{
foreach (WinNo item in listWinNo)
{
List<int> redList = new List<int>();
redList.Add(item.R1);
redList.Add(item.R2);
redList.Add(item.R3);
redList.Add(item.R4);
redList.Add(item.R5);
redList.Add(item.R6);
//--
DataRow reddr = sevenredtable.NewRow();
reddr["QiHao"] = item.QiHao;
reddr["R" + item.R1] = "R" + GetStr(item.R1.ToString());//紅1
reddr["R" + item.R2] = "R" + GetStr(item.R2.ToString());//紅2
reddr["R" + item.R3] = "R" + GetStr(item.R3.ToString());//紅3
reddr["R" + item.R4] = "R" + GetStr(item.R4.ToString());//紅4
reddr["R" + item.R5] = "R" + GetStr(item.R5.ToString());//紅5
reddr["R" + item.R6] = "R" + GetStr(item.R6.ToString());//紅6
reddr["D1"] = GetSevenFenQu(redList)[0];
reddr["D2"] = GetSevenFenQu(redList)[1];
reddr["D3"] = GetSevenFenQu(redList)[2];
reddr["D4"] = GetSevenFenQu(redList)[3];
reddr["D5"] = GetSevenFenQu(redList)[4];
reddr["D6"] = GetSevenFenQu(redList)[5];
reddr["D7"] = GetSevenFenQu(redList)[6];
sevenredtable.Rows.Add(reddr);
DataRow cleanreddr = sevencleanredtable.NewRow();
cleanreddr["QiHao"] = item.QiHao;
cleanreddr["R" + item.R1] = GetStr(item.R1.ToString());//紅1
cleanreddr["R" + item.R2] = GetStr(item.R2.ToString());//紅2
cleanreddr["R" + item.R3] = GetStr(item.R3.ToString());//紅3
cleanreddr["R" + item.R4] = GetStr(item.R4.ToString());//紅4
cleanreddr["R" + item.R5] = GetStr(item.R5.ToString());//紅5
cleanreddr["R" + item.R6] = GetStr(item.R6.ToString());//紅6
cleanreddr["D1"] = GetSevenFenQu(redList)[0];
cleanreddr["D2"] = GetSevenFenQu(redList)[1];
cleanreddr["D3"] = GetSevenFenQu(redList)[2];
cleanreddr["D4"] = GetSevenFenQu(redList)[3];
cleanreddr["D5"] = GetSevenFenQu(redList)[4];
cleanreddr["D6"] = GetSevenFenQu(redList)[5];
cleanreddr["D7"] = GetSevenFenQu(redList)[6];
sevencleanredtable.Rows.Add(cleanreddr);
}
for (int j = 1; j < 34; j++)
{
int xint = 0;
for (int i = 0; i < sevenredtable.Rows.Count; i++)
{
if (string.IsNullOrEmpty(sevenredtable.Rows[i]["R" + j].ToString()))
{
xint++;
sevenredtable.Rows[i]["R" + j] = xint;
}
else
{
xint = 0;
}
}
}
if (this.IsHandleCreated)
{
this.Invoke((MethodInvoker)delegate
{
if (flag)
{
sevencleanredtable.DefaultView.Sort = "QiHao DESC";
this.gridControl4.DataSource = sevencleanredtable.DefaultView.ToTable();
}
else
{
sevenredtable.DefaultView.Sort = "QiHao DESC";
this.gridControl4.DataSource = sevenredtable.DefaultView.ToTable();
}
});
}
}
}
private List<string> GetSevenFenQu(List<int> redList)
{
List<string> retlist = new List<string>();
int xint1 = 0;
int xint2 = 0;
int xint3 = 0;
int xint4 = 0;
int xint5 = 0;
int xint6 = 0;
int xint7 = 0;
foreach (int item in redList)
{
if (item < 6)
{
xint1++;
}
else if (item > 5 && item < 11)
{
xint2++;
}
else if (item > 10 && item < 16)
{
xint3++;
}
else if (item > 15 && item < 21)
{
xint4++;
}
else if (item > 20 && item < 26)
{
xint5++;
}
else if (item > 25 && item < 31)
{
xint6++;
}
else if (item > 30 && item < 34)
{
xint7++;
}
}
retlist.Add(xint1.ToString());
retlist.Add(xint2.ToString());
retlist.Add(xint3.ToString());
retlist.Add(xint4.ToString());
retlist.Add(xint5.ToString());
retlist.Add(xint6.ToString());
retlist.Add(xint7.ToString());
return retlist;
}
#endregion
#region * 籃球綜合走勢圖
/// <summary>
/// 籃球綜合走勢圖
/// </summary>
/// <param name="obj"></param>
private void GetData5(object obj)
{
buletable.Clear();
bulecleantable.Clear();
if (listWinNo != null && listWinNo.Count > 0)
{
foreach (WinNo item in listWinNo)
{
DataRow buledr = buletable.NewRow();
buledr["QiHao"] = item.QiHao;
buledr["R"] = GetStr(item.R1.ToString()) + " " + GetStr(item.R2.ToString()) + " " + GetStr(item.R3.ToString()) + " " + GetStr(item.R4.ToString()) + " " + GetStr(item.R5.ToString()) + " " + GetStr(item.R6.ToString());
buledr["B"] = GetStr(item.B.ToString());
buledr["B" + item.B] = "B" + GetStr(item.B.ToString());//籃球
buledr["X1"] = GetDa(item.B);//大
buledr["X2"] = GetXiao(item.B);//小
buledr["X3"] = GetJiShu(item.B);//奇
buledr["X4"] = GetOShu(item.B);//偶
buledr["X5"] = GetZhiShu(item.B);//質
buledr["X6"] = GetHeShu(item.B);//合
buledr["X7"] = GetFenQu1(item.B);//一區
buledr["X8"] = GetFenQu2(item.B);//二區
buledr["X9"] = GetFenQu3(item.B);//三區
buledr["X10"] = GetFenQu4(item.B);//四區
buledr["X11"] = GetWeiShu(item.B);//尾數
buledr["X12"] = GetWeiShuQuJian(item.B, 0);//0-1
buledr["X13"] = GetWeiShuQuJian(item.B, 2);//2-3
buledr["X14"] = GetWeiShuQuJian(item.B, 4);//4-5
buledr["X15"] = GetWeiShuQuJian(item.B, 6);//6-7
buledr["X16"] = GetWeiShuQuJian(item.B, 8);//8-9
buletable.Rows.Add(buledr);
//--
DataRow bulecleandr = bulecleantable.NewRow();
bulecleandr["QiHao"] = item.QiHao;
bulecleandr["R"] = GetStr(item.R1.ToString()) + " " + GetStr(item.R2.ToString()) + " " + GetStr(item.R3.ToString()) + " " + GetStr(item.R4.ToString()) + " " + GetStr(item.R5.ToString()) + " " + GetStr(item.R6.ToString());
bulecleandr["B"] = GetStr(item.B.ToString());
bulecleandr["B" + item.B] = GetStr(item.B.ToString());//籃球
bulecleandr["X1"] = GetDa(item.B);//大
bulecleandr["X2"] = GetXiao(item.B);//小
bulecleandr["X3"] = GetJiShu(item.B);//奇
bulecleandr["X4"] = GetOShu(item.B);//偶
bulecleandr["X5"] = GetZhiShu(item.B);//質
bulecleandr["X6"] = GetHeShu(item.B);//合
bulecleandr["X7"] = GetFenQu1(item.B);//一區
bulecleandr["X8"] = GetFenQu2(item.B);//二區
bulecleandr["X9"] = GetFenQu3(item.B);//三區
bulecleandr["X10"] = GetFenQu4(item.B);//四區
bulecleandr["X11"] = GetWeiShu(item.B);//尾數
bulecleandr["X12"] = GetWeiShuQuJian(item.B, 0);//0-1
bulecleandr["X13"] = GetWeiShuQuJian(item.B, 2);//2-3
bulecleandr["X14"] = GetWeiShuQuJian(item.B, 4);//4-5
bulecleandr["X15"] = GetWeiShuQuJian(item.B, 6);//6-7
bulecleandr["X16"] = GetWeiShuQuJian(item.B, 8);//8-9
bulecleantable.Rows.Add(bulecleandr);
}
for (int j = 1; j < 17; j++)
{
int xint = 0;
for (int i = 0; i < buletable.Rows.Count; i++)
{
if (string.IsNullOrEmpty(buletable.Rows[i]["B" + j].ToString()))
{
xint++;
buletable.Rows[i]["B" + j] = xint;
}
else
{
xint = 0;
}
}
}
for (int j = 1; j < 17; j++)
{
int xint = 0;
for (int i = 0; i < buletable.Rows.Count; i++)
{
if (string.IsNullOrEmpty(buletable.Rows[i]["X" + j].ToString()))
{
xint++;
buletable.Rows[i]["X" + j] = xint;
}
else
{
xint = 0;
}
}
}
if (this.IsHandleCreated)
{
this.Invoke((MethodInvoker)delegate
{
if (flag)
{
bulecleantable.DefaultView.Sort = "QiHao DESC";
this.gridControl5.DataSource = bulecleantable.DefaultView.ToTable();
}
else
{
buletable.DefaultView.Sort = "QiHao DESC";
this.gridControl5.DataSource = buletable.DefaultView.ToTable();
}
});
}
}
}
/// <summary>
/// 大數
/// </summary>
/// <param name="BuleCode"></param>
/// <returns></returns>
private string GetDa(int BuleCode)
{
if (BuleCode > 8)
{
return "大";
}
else
{
return "";
}
}
/// <summary>
/// 小數
/// </summary>
/// <param name="BuleCode"></param>
/// <returns></returns>
private string GetXiao(int BuleCode)
{
if (BuleCode < 9)
{
return "小";
}
else
{
return "";
}
}
/// <summary>
/// 奇數
/// </summary>
/// <param name="BuleCode"></param>
/// <returns></returns>
private string GetJiShu(int BuleCode)
{
if (BuleCode % 2 != 0)
{
return "奇";
}
else
{
return "";
}
}
/// <summary>
/// 偶數
/// </summary>
/// <param name="BuleCode"></param>
/// <returns></returns>
private string GetOShu(int BuleCode)
{
if (BuleCode % 2 == 0)
{
return "偶";
}
else
{
return "";
}
}
/// <summary>
/// 質數
/// </summary>
/// <param name="BuleCode"></param>
/// <returns></returns>
private string GetZhiShu(int BuleCode)
{
if (BuleCode == 1 || BuleCode == 2 || BuleCode == 3 || BuleCode == 5 || BuleCode == 7 || BuleCode == 11 || BuleCode == 13)
{
return "質";
}
else
{
return "";
}
}
/// <summary>
/// 合數
/// </summary>
/// <param name="BuleCode"></param>
/// <returns></returns>
private string GetHeShu(int BuleCode)
{
if (BuleCode == 4 || BuleCode == 6 || BuleCode == 8 || BuleCode == 9 || BuleCode == 10 || BuleCode == 12 || BuleCode == 14 || BuleCode == 15 || BuleCode == 16)
{
return "合";
}
else
{
return "";
}
}
/// <summary>
/// 分區1
/// </summary>
/// <param name="BuleCode"></param>
/// <returns></returns>
private string GetFenQu1(int BuleCode)
{
if (BuleCode < 5)
{
return "X" + BuleCode.ToString();
}
else
{
return "";
}
}
/// <summary>
/// 分區2
/// </summary>
/// <param name="BuleCode"></param>
/// <returns></returns>
private string GetFenQu2(int BuleCode)
{
if (BuleCode > 4 && BuleCode < 9)
{
return "X" + BuleCode.ToString();
}
else
{
return "";
}
}
/// <summary>
/// 分區3
/// </summary>
/// <param name="BuleCode"></param>
/// <returns></returns>
private string GetFenQu3(int BuleCode)
{
if (BuleCode > 8 && BuleCode < 13)
{
return "X" + BuleCode.ToString();
}
else
{
return "";
}
}
/// <summary>
/// 分區4
/// </summary>
/// <param name="BuleCode"></param>
/// <returns></returns>
private string GetFenQu4(int BuleCode)
{
if (BuleCode > 12)
{
return "X" + BuleCode.ToString();
}
else
{
return "";
}
}
/// <summary>
/// 尾數
/// </summary>
/// <param name="BuleCode"></param>
/// <returns></returns>
private string GetWeiShu(int BuleCode)
{
if (BuleCode < 10)
{
return BuleCode.ToString();
}
else
{
return BuleCode.ToString().Substring(1, 1);
}
}
private string GetWeiShuQuJian(int BuleCode, int xint)
{
string weishu = GetWeiShu(BuleCode);
if (int.Parse(weishu) >= 0 + xint && int.Parse(weishu) <= 1 + xint)
{
return "Y" + weishu;
}
else
{
return "";
}
}
#endregion
#region * 紅球連号走勢圖
/// <summary>
/// 紅球連号走勢圖
/// </summary>
/// <param name="obj"></param>
private void GetData6(object obj)
{
lianhaotable.Clear();
lianhaocleantable.Clear();
if (listWinNo != null && listWinNo.Count > 0)
{
foreach (WinNo item in listWinNo)
{
List<int> redList = new List<int>();
redList.Add(item.R1);
redList.Add(item.R2);
redList.Add(item.R3);
redList.Add(item.R4);
redList.Add(item.R5);
redList.Add(item.R6);
//--
DataRow reddr = lianhaotable.NewRow();
DataRow cleanreddr = lianhaocleantable.NewRow();
reddr["QiHao"] = item.QiHao;
cleanreddr["QiHao"] = item.QiHao;
reddr["R"] = GetStr(item.R1.ToString()) + " " + GetStr(item.R2.ToString()) + " " + GetStr(item.R3.ToString()) + " " + GetStr(item.R4.ToString()) + " " + GetStr(item.R5.ToString()) + " " + GetStr(item.R6.ToString());
cleanreddr["R"] = GetStr(item.R1.ToString()) + " " + GetStr(item.R2.ToString()) + " " + GetStr(item.R3.ToString()) + " " + GetStr(item.R4.ToString()) + " " + GetStr(item.R5.ToString()) + " " + GetStr(item.R6.ToString());
//--
List<string> list = new List<string>();
list = GetList(redList);
int group = 0;
if (list != null && list.Count > 0)
{
foreach (string strlist in list)
{
string[] arr = strlist.Split(",".ToCharArray());
group += arr.Count() - 1;
foreach (string code in arr)
{
reddr["R" + code] = "R" + GetStr(code);
cleanreddr["R" + code] = GetStr(code);
}
}
}
reddr["A"] = list.Count();
cleanreddr["A"] = list.Count();
reddr["B"] = group.ToString();
cleanreddr["B"] = group.ToString();
//--
lianhaotable.Rows.Add(reddr);
lianhaocleantable.Rows.Add(cleanreddr);
}
for (int j = 1; j < 34; j++)
{
int xint = 0;
for (int i = 0; i < lianhaotable.Rows.Count; i++)
{
if (string.IsNullOrEmpty(lianhaotable.Rows[i]["R" + j].ToString()))
{
xint++;
lianhaotable.Rows[i]["R" + j] = xint;
}
else
{
xint = 0;
}
}
}
if (this.IsHandleCreated)
{
this.Invoke((MethodInvoker)delegate
{
if (flag)
{
lianhaocleantable.DefaultView.Sort = "QiHao DESC";
this.gridControl6.DataSource = lianhaocleantable.DefaultView.ToTable();
}
else
{
lianhaotable.DefaultView.Sort = "QiHao DESC";
this.gridControl6.DataSource = lianhaotable.DefaultView.ToTable();
}
});
}
}
}
/// <summary>
/// 計算連号
/// </summary>
/// <param name="RedCode"></param>
/// <returns></returns>
private List<string> GetList(List<int> RedCode)
{
List<string> retlist = new List<string>();
for (int i = 0; i < RedCode.Count; i++)
{
string retstr = string.Empty;
if (i < 5)
{
if (RedCode[i + 1] - RedCode[i] == 1)//兩連号
{
retstr = RedCode[i] + "," + RedCode[i + 1];
}
}
if (i < 4)
{
if (RedCode[i + 2] - RedCode[i + 1] == 1 && RedCode[i + 1] - RedCode[i] == 1)//三連号
{
retstr = RedCode[i] + "," + RedCode[i + 1] + "," + RedCode[i + 2];
}
}
if (i < 3)
{
if (RedCode[i + 3] - RedCode[i + 2] == 1 && RedCode[i + 2] - RedCode[i + 1] == 1 && RedCode[i + 1] - RedCode[i] == 1)//四連号
{
retstr = RedCode[i] + "," + RedCode[i + 1] + "," + RedCode[i + 2] + "," + RedCode[i + 3];
}
}
if (i < 2)
{
if (RedCode[i + 4] - RedCode[i + 3] == 1 && RedCode[i + 3] - RedCode[i + 2] == 1 && RedCode[i + 2] - RedCode[i + 1] == 1 && RedCode[i + 1] - RedCode[i] == 1)//五連号
{
retstr = RedCode[i] + "," + RedCode[i + 1] + "," + RedCode[i + 2] + "," + RedCode[i + 3] + "," + RedCode[i + 4];
}
}
if (!string.IsNullOrEmpty(retstr))
{
if (retlist != null && retlist.Count > 0)
{
var tmp = from c in retlist
where ("," + c + ",").Contains("," + retstr + ",")
select c;
if (tmp.Count() == 0)
{
retlist.Add(retstr);
}
}
else
{
retlist.Add(retstr);
}
}
}
return retlist;
}
#endregion
#region * 紅球和值走勢圖
/// <summary>
/// 紅球和值走勢圖
/// </summary>
/// <param name="obj"></param>
private void GetData7(object obj)
{
hezhitable.Clear();
hezhicleantable.Clear();
if (listWinNo != null && listWinNo.Count > 0)
{
foreach (WinNo item in listWinNo)
{
DataRow reddr = hezhitable.NewRow();
DataRow cleanreddr = hezhicleantable.NewRow();
reddr["QiHao"] = item.QiHao;
cleanreddr["QiHao"] = item.QiHao;
reddr["R"] = GetStr(item.R1.ToString()) + " " + GetStr(item.R2.ToString()) + " " + GetStr(item.R3.ToString()) + " " + GetStr(item.R4.ToString()) + " " + GetStr(item.R5.ToString()) + " " + GetStr(item.R6.ToString());
cleanreddr["R"] = GetStr(item.R1.ToString()) + " " + GetStr(item.R2.ToString()) + " " + GetStr(item.R3.ToString()) + " " + GetStr(item.R4.ToString()) + " " + GetStr(item.R5.ToString()) + " " + GetStr(item.R6.ToString());
decimal total = item.R1 + item.R2 + item.R3 + item.R4 + item.R5 + item.R6;
reddr["TOTAL"] = total;
cleanreddr["TOTAL"] = total;
//--
string r1 = total > 20 && total < 61 ? total.ToString() : "";
string r2 = total > 60 && total < 71 ? total.ToString() : "";
string r3 = total > 70 && total < 81 ? total.ToString() : "";
string r4 = total > 80 && total < 91 ? total.ToString() : "";
string r5 = total > 90 && total < 101 ? total.ToString() : "";
string r6 = total > 100 && total < 111 ? total.ToString() : "";
string r7 = total > 110 && total < 121 ? total.ToString() : "";
string r8 = total > 120 && total < 131 ? total.ToString() : "";
string r9 = total > 130 && total < 141 ? total.ToString() : "";
string r10 = total > 140 && total < 151 ? total.ToString() : "";
string r11 = total > 150 && total < 161 ? total.ToString() : "";
string r12 = total > 160 && total < 184 ? total.ToString() : "";
string w = total.ToString().Substring(total.ToString().Length - 1, 1);
//--
reddr["R1"] = !string.IsNullOrEmpty(r1) ? "R" + r1 : "";
reddr["R2"] = !string.IsNullOrEmpty(r2) ? "R" + r2 : "";
reddr["R3"] = !string.IsNullOrEmpty(r3) ? "R" + r3 : "";
reddr["R4"] = !string.IsNullOrEmpty(r4) ? "R" + r4 : "";
reddr["R5"] = !string.IsNullOrEmpty(r5) ? "R" + r5 : "";
reddr["R6"] = !string.IsNullOrEmpty(r6) ? "R" + r6 : "";
reddr["R7"] = !string.IsNullOrEmpty(r7) ? "R" + r7 : "";
reddr["R8"] = !string.IsNullOrEmpty(r8) ? "R" + r8 : "";
reddr["R9"] = !string.IsNullOrEmpty(r9) ? "R" + r9 : "";
reddr["R10"] = !string.IsNullOrEmpty(r10) ? "R" + r10 : "";
reddr["R11"] = !string.IsNullOrEmpty(r11) ? "R" + r11 : "";
reddr["R12"] = !string.IsNullOrEmpty(r12) ? "R" + r12 : "";
reddr["W"] = w;
reddr["W" + w] = "W" + w;
//--
cleanreddr["R1"] = r1;
cleanreddr["R2"] = r2;
cleanreddr["R3"] = r3;
cleanreddr["R4"] = r4;
cleanreddr["R5"] = r5;
cleanreddr["R6"] = r6;
cleanreddr["R7"] = r7;
cleanreddr["R8"] = r8;
cleanreddr["R9"] = r9;
cleanreddr["R10"] = r10;
cleanreddr["R11"] = r11;
cleanreddr["R12"] = r12;
cleanreddr["W"] = w;
cleanreddr["W" + w] = w;
//--
hezhitable.Rows.Add(reddr);
hezhicleantable.Rows.Add(cleanreddr);
}
for (int j = 1; j < 13; j++)
{
int xint = 0;
for (int i = 0; i < hezhitable.Rows.Count; i++)
{
if (string.IsNullOrEmpty(hezhitable.Rows[i]["R" + j].ToString()))
{
xint++;
hezhitable.Rows[i]["R" + j] = xint;
}
else
{
xint = 0;
}
}
}
for (int j = 0; j < 10; j++)
{
int xint = 0;
for (int i = 0; i < hezhitable.Rows.Count; i++)
{
if (string.IsNullOrEmpty(hezhitable.Rows[i]["W" + j].ToString()))
{
xint++;
hezhitable.Rows[i]["W" + j] = xint;
}
else
{
xint = 0;
}
}
}
if (this.IsHandleCreated)
{
this.Invoke((MethodInvoker)delegate
{
if (flag)
{
hezhicleantable.DefaultView.Sort = "QiHao DESC";
this.gridControl7.DataSource = hezhicleantable.DefaultView.ToTable();
}
else
{
hezhitable.DefaultView.Sort = "QiHao DESC";
this.gridControl7.DataSource = hezhitable.DefaultView.ToTable();
}
});
}
}
}
#endregion
#region * 曆史資料
/// <summary>
/// 曆史資料
/// </summary>
/// <param name="obj"></param>
private void GetData8(object obj)
{
historytable.Clear();
if (historyWinNo != null && historyWinNo.Count > 0)
{
foreach (WinNo item in historyWinNo)
{
DataRow reddr = historytable.NewRow();
reddr["QiHao"] = item.QiHao;
reddr["R"] = GetStr(item.R1.ToString()) + " " + GetStr(item.R2.ToString()) + " " + GetStr(item.R3.ToString()) + " " + GetStr(item.R4.ToString()) + " " + GetStr(item.R5.ToString()) + " " + GetStr(item.R6.ToString());
reddr["B"] = GetStr(item.B.ToString());
for (int i = 0; i < item.Data.Count; i++)
{
reddr["A" + (i + 1)] = item.Data[i];
}
//--
historytable.Rows.Add(reddr);
}
if (this.IsHandleCreated)
{
this.Invoke((MethodInvoker)delegate
{
historytable.DefaultView.Sort = "QiHao DESC";
this.gridControl8.DataSource = historytable.DefaultView.ToTable();
});
}
}
}
#endregion
#region * 保證兩位數
/// <summary>
/// 保證兩位數
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
private string GetStr(string str)
{
string retstr = string.Empty;
if (!string.IsNullOrEmpty(str) && str.Length > 0)
{
if (str.Length == 1)
{
retstr = "0" + str;
}
else
retstr = str;
}
return retstr;
}
#endregion
}
}
網名:浩秦;
郵箱:root#landv.pw;
隻要我能控制一個國家的貨幣發行,我不在乎誰制定法律。金錢一旦作響,壞話隨之戛然而止。