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 } }