📄 logindlg.cpp
字号:
// LoginDlg.cpp : implementation file
//
#include "stdafx.h"
#include "rmtool.h"
#include "LoginDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CLoginDlg dialog
CLoginDlg::CLoginDlg(CWnd* pParent /*=NULL*/)
: CDialog(CLoginDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CLoginDlg)
m_szID = _T("");
m_szPassword = _T("");
//}}AFX_DATA_INIT
}
void CLoginDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CLoginDlg)
DDX_Control(pDX, IDC_ID, c_ID);
DDX_Text(pDX, IDC_ID, m_szID);
DDV_MaxChars(pDX, m_szID, 20);
DDX_Text(pDX, IDC_PASSWORD, m_szPassword);
DDV_MaxChars(pDX, m_szPassword, 20);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CLoginDlg, CDialog)
//{{AFX_MSG_MAP(CLoginDlg)
ON_BN_CLICKED(IDC_LOGIN, OnLogin)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CLoginDlg message handlers
BOOL CLoginDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
c_ID.SetFocus();
UpdateData(FALSE);
//弥惑困 扩档快肺
SetWindowPos(&wndTopMost, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
BOOL CLoginDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
if(pMsg->hwnd == GetDlgItem(IDC_PASSWORD)->m_hWnd
&& pMsg->message == WM_KEYDOWN
&& pMsg->wParam == VK_RETURN)
{
OnEnterAtPassword();
return TRUE;
}
if(pMsg->hwnd == GetDlgItem(IDC_ID)->m_hWnd
&& pMsg->message == WM_KEYDOWN
&& pMsg->wParam == VK_RETURN)
{
(GetDlgItem(IDC_PASSWORD))->SetFocus();
return TRUE;
}
return CDialog::PreTranslateMessage(pMsg);
}
//Password Edit 冠胶俊辑 Enter 闷阑锭..
void CLoginDlg::OnEnterAtPassword()
{
UpdateData(TRUE);
switch(CheckID(m_szID))
{
case 1: EndDialog(IDOK); break;
case -1: MessageBox("Unregistered ID!"); EndDialog(IDCANCEL); return;
case -2: MessageBox("Invalid Password!"); EndDialog(IDCANCEL); return;
//case -3: MessageBox("Unregistered IP Address!"); EndDialog(IDCANCEL); return;
//case -4: MessageBox("Please, Check Account and try Again!"); EndDialog(IDCANCEL); return;
default: MessageBox("Please, Check Account and try Again!"); EndDialog(IDCANCEL); return;
}
}
int CLoginDlg::CheckID(CString id)
{
CRMToolApp *pApp = (CRMToolApp*)AfxGetApp();
//IP 掘绢坷扁
// char szHostName[40];
//char szIp[16];
// ::gethostname(szHostName, sizeof(szHostName));
// HOSTENT FAR* lphostent = ::gethostbyname(szHostName);
// sprintf(pApp->m_szLocalAddress,"%s",inet_ntoa(*((struct in_addr*)lphostent->h_addr)));
char str[ 0xff ];
WCHAR query[ 0xff ];
sprintf(str,"UP_RM_LOGIN '%s'", id);
//肯己屈 茄臂 -> 蜡聪内靛 茄臂 函券
g_pDb->KSCToUnicode(str,query);
int ret = g_pDb->OpenRecord(query, &pApp->m_LogInfo, 1, (BYTE)TOTAL_DB);
if(ret == 0)
return -1; //绝绰 酒捞叼
else
{
//int temp = 0;
if(strcmp(pApp->m_LogInfo.Password, m_szPassword) != 0)
return -2; //Password啊 撇覆
/*
temp++;
if(!strcmp(pApp->m_LogInfo.IP, pApp->m_szLocalAddress))
temp +=
2;
switch(temp)
{
case 1: return -3; break; //ip 撇覆
case 2: return -2; break; //厚锅 撇覆
case 3: return 1; break;
case 0: return -4; break; //ip,厚锅 笛促 撇覆
}
*/
}
return 1;
}
void CLoginDlg::OnCancel()
{
// TODO: Add extra cleanup here
CDialog::OnCancel();
}
void CLoginDlg::OnLogin()
{
// TODO: Add your control notification handler code here
OnEnterAtPassword();
/*
UpdateData(TRUE);
switch(CheckID(m_szID))
{
case 1: EndDialog(IDOK); return;
case -1: MessageBox("Unregistered ID!"); break;
case -2: MessageBox("Invalid Password!"); break;
case -3: MessageBox("Unregistered IP Address!"); break;
case -4: MessageBox("Please, Check Account and try Again!"); break;
}
*/
//CDialog::OnCancel();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -