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

📄 zhfxview.cpp

📁 这是一个3D彩票统计查询方面的一个软件
💻 CPP
字号:
// ZhfxView.cpp : implementation file
//

#include "stdafx.h"
#include "3d.h"
#include "ZhfxView.h"
#include <math.h>
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CZhfxView

IMPLEMENT_DYNCREATE(CZhfxView, CFormView)

CZhfxView::CZhfxView()
	: CFormView(CZhfxView::IDD)
{
	//{{AFX_DATA_INIT(CZhfxView)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
}

CZhfxView::~CZhfxView()
{
}

void CZhfxView::DoDataExchange(CDataExchange* pDX)
{
	CFormView::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CZhfxView)
	DDX_Control(pDX, IDC_DATASTATIC, m_strctrl);
	DDX_Control(pDX, IDC_TIPEDIT, m_tip);
	DDX_Control(pDX, IDC_DATALIST, m_datalist);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CZhfxView, CFormView)
	//{{AFX_MSG_MAP(CZhfxView)
	ON_BN_CLICKED(IDC_SINGLE, OnSingle)
	ON_BN_CLICKED(IDC_ZUSAN, OnZusan)
	ON_BN_CLICKED(IDC_ZULIU, OnZuliu)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CZhfxView diagnostics

#ifdef _DEBUG
void CZhfxView::AssertValid() const
{
	CFormView::AssertValid();
}

void CZhfxView::Dump(CDumpContext& dc) const
{
	CFormView::Dump(dc);
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CZhfxView message handlers
//计算字符串中的参数个数,strDomain为要计算参数个数的字符串,cfgf为分隔符
void fjstrParam(CString strDomain,char cfgf,CUIntArray& m_barray)
{
	//首先初始化引用数组
	m_barray.RemoveAll();

	int ifirst=0;
	int ilen;
	int ncount = 0;
	strDomain.TrimLeft();
	strDomain.TrimRight();
	if(strDomain == "")
		return ;
	strDomain.MakeUpper();
	int i = strDomain.Find(cfgf);
	BYTE  btmp = 0;
	if(i < 0)  //类型或值域字符串中仅仅只有一项时
	{
		btmp = atoi(strDomain);
		m_barray.Add(btmp);
		return ;
	}

	CString strtemp;
	ilen = strDomain.GetLength();
	while(i<ilen)
	{
		strtemp = strDomain.Mid(ifirst,i);
		
		btmp = atoi(strDomain);
		m_barray.Add(btmp);
	
		strDomain = strDomain.Mid(i+1,ilen);
		strDomain.TrimLeft();
		strDomain.TrimRight();

		ilen = strDomain.GetLength();
		i = strDomain.Find(cfgf);
		if(i<0)
		{
			//把最后一个数写入数组
			btmp = atoi(strDomain);
			m_barray.Add(btmp);
			return ;
		}
	}
}

//求跨度
int FindKD(UINT m[])
{
	int n1=0,n2=0,n3=0;
	n1 = abs(m[0]-m[1]);
	n2 = abs(m[1]-m[2]);
	n3 = abs(m[2]-m[0]);

	int max1=max(n1,n2);
	int max2=max(n2,n3);

	return max(max1,max2);
}

//发现2码
BOOL FindRM(UINT uM[],int uR[])
{
	int nCount = 0;
	for(int i=0;i<2;i++)
	{
		for(int j=0;j<3;j++)
		{
			if(uM[j] == uR[i])
			{
				nCount++;
				break;
			}
		}
	}
	if(nCount >= 2)
		return TRUE;
	else

		return FALSE;
}

void CZhfxView::OnSingle() 
{
	m_dataarry.RemoveAll();
	m_datalist.DeleteAllItems();
	CString strtmp = "";
	((CEdit*)GetDlgItem(IDC_B))->GetWindowText(strtmp);
	fjstrParam(strtmp,' ',m_b);

	((CEdit*)GetDlgItem(IDC_S))->GetWindowText(strtmp);
	fjstrParam(strtmp,' ',m_s);

	((CEdit*)GetDlgItem(IDC_G))->GetWindowText(strtmp);
	fjstrParam(strtmp,' ',m_g);

	((CEdit*)GetDlgItem(IDC_KD))->GetWindowText(strtmp);
	fjstrParam(strtmp,' ',m_kd);
	if(strtmp == "")
	{
		for(int nindex=0;nindex<10;nindex++)
			m_kd.Add(nindex);
	}

	((CEdit*)GetDlgItem(IDC_COUNT))->GetWindowText(strtmp);
	fjstrParam(strtmp,' ',m_count);
	if(strtmp == "")
	{
		for(int nindex=0;nindex<28;nindex++)
			m_count.Add(nindex);
	}

	((CEdit*)GetDlgItem(IDC_SHAMAZH))->GetWindowText(strtmp);
	fjstrParam(strtmp,' ',m_smzh);
	int iRM[] = {0,0};


	UINT  uM[] = {0,0,0};
	int nCount = 0;
	int nkd = 0;

	for(int i=0;i<m_b.GetSize();i++)
	{
		for(int j=0;j<m_s.GetSize();j++)
		{
			for(int k=0;k<m_g.GetSize();k++)
			{
				for(int m1=0;m1<m_kd.GetSize();m1++)
				{
					uM[0] = m_b.GetAt(i);
					uM[1] = m_s.GetAt(j);
					uM[2] = m_g.GetAt(k);
					nkd = FindKD(uM);
					if(nkd == m_kd.GetAt(m1))  //满足跨度条件
					{
						for(int m2=0;m2<m_count.GetSize();m2++)
						{
							nCount = m_b.GetAt(i)+m_s.GetAt(j)+m_g.GetAt(k);
							if(m_count.GetAt(m2) == nCount)
							{
								if(m_smzh.GetSize() > 0)
								{
									BOOL bRMexist = FALSE;
									for(int nk=0;nk<m_smzh.GetSize();nk++)
									{
										iRM[0] = m_smzh.GetAt(nk)/10;
										iRM[1] = m_smzh.GetAt(nk)%10;
										bRMexist = bRMexist || FindRM(uM,iRM);
									}
									if(!bRMexist)
									{
										strtmp.Format("%d%d%d",m_b.GetAt(i),m_s.GetAt(j),m_g.GetAt(k));
										m_dataarry.Add(strtmp);
									}
								}
								else  //不进行杀二码组合
								{
									strtmp.Format("%d%d%d",m_b.GetAt(i),m_s.GetAt(j),m_g.GetAt(k));
									m_dataarry.Add(strtmp);
								}
							}//end of if 和值筛选

						}//end of m2
					}
				}//end of m1
			}//end of G
		}//end of S

	}//end of B

	/////////////////////////////////////
	//写入到数据控件中
	int nlen = m_dataarry.GetSize();
	strtmp.Format("组合投注共: %d注",nlen);
	m_strctrl.SetWindowText(strtmp);
	for(i=0;i<nlen;i++)
	{
		m_datalist.InsertItem(i,"",0);	
		strtmp.Format("%d",i);
		m_datalist.SetItemText(i,0,strtmp);
		m_datalist.SetItemText(i,1,m_dataarry.GetAt(i));
	}
}

void CZhfxView::OnZusan() 
{
	// TODO: Add your control notification handler code here
	
}

void CZhfxView::OnZuliu() 
{
	// TODO: Add your control notification handler code here
	
}

void CZhfxView::OnInitialUpdate() 
{
	CFormView::OnInitialUpdate();

	
	fntCurWnd.CreateFont(-12,6,0,0,FW_NORMAL,FALSE,FALSE,FALSE,GB2312_CHARSET,
		OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,
		DEFAULT_PITCH|FF_MODERN,"宋体");
	DWORD dwStyle = GetWindowLong(m_datalist.m_hWnd, GWL_STYLE );
	if ((dwStyle & LVS_TYPEMASK) != LVS_REPORT )
		SetWindowLong( m_datalist.m_hWnd, GWL_STYLE, (dwStyle & ~LVS_TYPEMASK) | LVS_REPORT );


	m_datalist.SetBkColor(RGB(255,255,255));
	//m_plist->SetFont(&fntCurWnd);
	m_datalist.SetExtendedStyle(LVS_EX_GRIDLINES |LVS_REPORT|LVS_ALIGNTOP  );
	m_datalist.EnableWindow(TRUE);
	
	m_ListImage.Create(IDB_BITMAPMSG, 16, 0, RGB(0, 255, 0));
	m_datalist.SetImageList(&m_ListImage, LVSIL_SMALL);
	

	// 创建初始列
	LV_COLUMN lvcol;
	lvcol.mask = LVCF_WIDTH|LVCF_TEXT|LVCF_FMT;
	lvcol.fmt=LVCFMT_CENTER;

 	lvcol.cx=50;
	lvcol.pszText="序号";
	m_datalist.InsertColumn(0,&lvcol);

  	lvcol.cx=200;
	lvcol.pszText="投注号码";
	m_datalist.InsertColumn(1,&lvcol);  
  

	((CEdit*)GetDlgItem(IDC_B))->SetWindowText("1 3 7 9");
	((CEdit*)GetDlgItem(IDC_S))->SetWindowText("1 3 4 5");
	((CEdit*)GetDlgItem(IDC_G))->SetWindowText("0 8 4 6");
	((CEdit*)GetDlgItem(IDC_KD))->SetWindowText("1 4 6");
	((CEdit*)GetDlgItem(IDC_COUNT))->SetWindowText("9 10 11 12");
	((CEdit*)GetDlgItem(IDC_SHAMAZH))->SetWindowText("");

	CString strtmp = "1.当期期数的后2位数";
	strtmp += "\r\n";
	strtmp += "2.当期期数尾+上期和值的个位数";
	strtmp += "\r\n";
	strtmp += "3.前两期的十位数组合";
	strtmp += "\r\n";
	strtmp += "4.上期开奖号小中大之间的跨度组合";
	m_tip.SetWindowText(strtmp);


}

⌨️ 快捷键说明

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