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