📄 zhfxview.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 + -