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

📄 registerdlg.cpp

📁 网吧管理系统VC源码
💻 CPP
字号:
// RegisterDlg.cpp : implementation file
//

#include "stdafx.h"
#include "Server.h"
#include "RegisterDlg.h"
#include "ServerDoc.h"
#include "MainFrm.h"
#include "DaoLeaguer.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CRegisterDlg dialog


CRegisterDlg::CRegisterDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CRegisterDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CRegisterDlg)
	m_strBak = _T("");
	m_strLimitTime = _T("");
	m_strPrepay = _T("");
	m_strCardNum = _T("");
	m_strLimitMinute = _T("");
	//}}AFX_DATA_INIT
}


void CRegisterDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CRegisterDlg)
	DDX_Control(pDX, IDC_STATIC_SECONDS, m_static_seconds);
	DDX_Control(pDX, IDC_STATIC_VALIDITYDAY, m_static_validityDay);
	DDX_Control(pDX, IDC_STATIC_SUM, m_static_sum);
	DDX_Control(pDX, IDC_COMBO_CARDNUM, m_combo_cardNum);
	DDX_Text(pDX, IDC_EDIT_BAK, m_strBak);
	DDV_MaxChars(pDX, m_strBak, 50);
	DDX_Text(pDX, IDC_EDIT_LIMIT_TIME, m_strLimitTime);
	DDV_MaxChars(pDX, m_strLimitTime, 5);
	DDX_Text(pDX, IDC_EDIT_PREPAY, m_strPrepay);
	DDV_MaxChars(pDX, m_strPrepay, 6);
	DDX_CBString(pDX, IDC_COMBO_CARDNUM, m_strCardNum);
	DDX_Text(pDX, IDC_STATIC_SECONDS, m_strLimitMinute);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CRegisterDlg, CDialog)
	//{{AFX_MSG_MAP(CRegisterDlg)
	ON_CBN_SELCHANGE(IDC_COMBO_CARDNUM, OnSelchangeComboCardnum)
	ON_EN_KILLFOCUS(IDC_EDIT_LIMIT_TIME, OnKillfocusEditLimitTime)
	ON_EN_KILLFOCUS(IDC_EDIT_PREPAY, OnKillfocusEditPrepay)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CRegisterDlg message handlers

BOOL CRegisterDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();

	CMenu* pSysMenu = GetSystemMenu(FALSE);
	pSysMenu->ModifyMenu(SC_CLOSE,MF_BYCOMMAND | MF_GRAYED );
	
	CDaoLeaguer m_daoLeaguer;
	m_daoLeaguer.Open();

	if(!(m_daoLeaguer.IsBOF() && m_daoLeaguer.IsEOF()))
	{
		m_daoLeaguer.MoveLast();
		int iRecCount = m_daoLeaguer.GetRecordCount();
		m_daoLeaguer.MoveFirst();
	
		for(int i = 1; i <= iRecCount;  i++)
		{
			CTime Currenttime = CTime::GetCurrentTime();
			CTime Endtime = CTime(m_daoLeaguer.m_EndDate.GetYear(), m_daoLeaguer.m_EndDate.GetMonth(), m_daoLeaguer.m_EndDate.GetDay(), Currenttime.GetHour(), Currenttime.GetMinute(), Currenttime.GetSecond());
		
			if (m_daoLeaguer.m_lStatus == 1)
			{
				m_daoLeaguer.MoveNext();
				continue;
			}
			else if (m_daoLeaguer.m_lStatus == 2)
			{
				m_daoLeaguer.MoveNext();
				continue;
			}
			else if (Currenttime > Endtime)
			{
				m_daoLeaguer.MoveNext();
				continue;		
			}
			else if (m_daoLeaguer.m_fMoney < 0.5)
			{
				m_daoLeaguer.MoveNext();
				continue;	
			}
			else if (m_daoLeaguer.m_WorkStatus != 0)
			{
				m_daoLeaguer.MoveNext();
				continue;	
			}
			m_combo_cardNum.AddString(m_daoLeaguer.m_strNick);
			m_daoLeaguer.MoveNext();
		}
	}
	m_daoLeaguer.Close();
	return TRUE;  
}

void CRegisterDlg::OnSelchangeComboCardnum() 
{
	
	GetDlgItem(IDC_EDIT_LIMIT_TIME)->EnableWindow(false);
	GetDlgItem(IDC_EDIT_PREPAY)->EnableWindow(false);

	int iCurSel = m_combo_cardNum.GetCurSel();	
	CString str;
	m_combo_cardNum.GetLBText(iCurSel, str);

	CDaoLeaguer m_daoLeaguer;
	m_daoLeaguer.Open();

	CString strFilter("[用户名称]=\"");
	strFilter += str;
	strFilter += '\"';
    if (m_daoLeaguer.FindFirst(strFilter))
	{
		str.Format("%.1f", m_daoLeaguer.m_fMoney);
		m_static_sum.SetWindowText(str);
		str = m_daoLeaguer.m_EndDate.Format(VAR_DATEVALUEONLY);
		m_static_validityDay.SetWindowText(str);
	}
	m_daoLeaguer.Close();
}


void CRegisterDlg::OnKillfocusEditPrepay() 
{
	UpdateData(true);
	CString str;
	GetDlgItem(IDC_EDIT_PREPAY)->GetWindowText(str);
	if (!IsAllDigital(str))
	{
		AfxMessageBox("含有非法字符,此控件只能输入数字或小数点");
		GetDlgItem(IDC_EDIT_PREPAY)->SetWindowText("");
		GetDlgItem(IDC_EDIT_PREPAY)->SetFocus();
	}	
}


void CRegisterDlg::OnKillfocusEditLimitTime() 
{
	UpdateData(true);
	CString str;
	GetDlgItem(IDC_EDIT_LIMIT_TIME)->GetWindowText(str);
	if (!IsAllDigital(str))
	{
		AfxMessageBox("含有非法字符,此控件只能输入数字或小数点");
		GetDlgItem(IDC_EDIT_LIMIT_TIME)->SetWindowText("");
		GetDlgItem(IDC_EDIT_LIMIT_TIME)->SetFocus();
		m_static_seconds.SetWindowText("");
	}
	else
	{
		double seconds = atof(str);
		seconds *= 60;
		str.Format("%.0f", seconds);
		m_static_seconds.SetWindowText(str);
	}
}


BOOL CRegisterDlg::IsAllDigital(CString str)
{
	char ch ;
	int length;
	bool bDot = false;
	length = str.GetLength();

	for(int i = 0; i < length; i++)
	{
		ch = str.GetAt(i);
		if (ch == '.' && !bDot) 
		{
			bDot = true;
			continue;
		}
		else
			if (ch == '.' && bDot)
				return false;
			else
				if (!(ch == '.' || (ch <= '9' && ch >= '0')))
					return false;
	}
	return true;
}

⌨️ 快捷键说明

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