📄 pwddlg.cpp
字号:
// PwdDlg.cpp : implementation file
//
#include "stdafx.h"
#include "FFManage.h"
#include "PwdDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
extern CRecordset g_Recordset;
extern CDatabase g_Database;
extern int g_iType;
extern int Encrypt(const CString passwd, const char key, CString & resPasswd);
extern int Decrypt(const CString passwd, const char key, CString & resPasswd);
/////////////////////////////////////////////////////////////////////////////
// CPwdDlg dialog
CPwdDlg::CPwdDlg(CWnd* pParent /*=NULL*/)
: CDialog(CPwdDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CPwdDlg)
m_bModPWD = FALSE;
m_strNewPWD = _T("");
m_strNewPWD2 = _T("");
m_strPWD = _T("");
//}}AFX_DATA_INIT
}
void CPwdDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CPwdDlg)
DDX_Check(pDX, IDC_CHK_ModPWD, m_bModPWD);
DDX_Text(pDX, IDC_EDIT_NewPWD, m_strNewPWD);
DDV_MaxChars(pDX, m_strNewPWD, 8);
DDX_Text(pDX, IDC_EDIT_NewPWD2, m_strNewPWD2);
DDV_MaxChars(pDX, m_strNewPWD2, 8);
DDX_Text(pDX, IDC_EDIT_PWD, m_strPWD);
DDV_MaxChars(pDX, m_strPWD, 8);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CPwdDlg, CDialog)
//{{AFX_MSG_MAP(CPwdDlg)
ON_BN_CLICKED(IDC_CHK_ModPWD, OnCHKModPWD)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CPwdDlg message handlers
void CPwdDlg::OnOK()
{
// TODO: Add extra validation here
UpdateData(TRUE);
CString strSQL;
CString strSavePWD;
CString strTemp;
if(m_strPWD.IsEmpty())
{
AfxMessageBox("密码不能为空!本系统的初始密码为 “123”");
return;
}
strSQL = "select FValue from TPWD Where FFlag = 'login'";
if(g_Recordset.IsOpen())g_Recordset.Close();
g_Recordset.Open(CRecordset::forwardOnly, strSQL, CRecordset::readOnly);
strSavePWD.Empty();
if(!g_Recordset.IsEOF())
{
g_Recordset.GetFieldValue((short)0,strSavePWD);
}
g_Recordset.Close();
Encrypt(m_strPWD,PWDKEY,strTemp);
if(strTemp != strSavePWD)
{
AfxMessageBox("您输入的密码不正确,请重新输入!");
m_strPWD.Empty();
GetDlgItem(IDC_EDIT_PWD)->SetFocus();
UpdateData(FALSE);
return;
}
if(m_bModPWD)
{
if(m_strNewPWD.IsEmpty())
{
AfxMessageBox("密码不能为空!");
return;
}
if(m_strNewPWD != m_strNewPWD2)
{
AfxMessageBox("更改密码时,您两次输入的密码不同,请重新输入!");
GetDlgItem(IDC_EDIT_NewPWD)->SetFocus();
return;
}
strSQL = "Delete From TPWD Where FFlag = 'login'";
try
{
g_Database.ExecuteSQL(strSQL);
}
catch(...)
{
AfxMessageBox("错误! " + strSQL);
return;
}
Encrypt(m_strNewPWD,PWDKEY,strTemp);
strSQL.Format("Insert into TPWD(FFlag,FValue) Values('login','%s')",strTemp);
try
{
g_Database.ExecuteSQL(strSQL);
}
catch(...)
{
AfxMessageBox("错误! " + strSQL);
return;
}
AfxMessageBox("修改密码成功,下次请用新密码登录!");
}
g_iType = No_login + 1;
CDialog::OnOK();
}
void CPwdDlg::OnCHKModPWD()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
if(m_bModPWD)
{
GetDlgItem(IDC_EDIT_NewPWD)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT_NewPWD2)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT_NewPWD)->SetFocus();
}
else
{
GetDlgItem(IDC_EDIT_NewPWD)->EnableWindow(FALSE);
GetDlgItem(IDC_EDIT_NewPWD2)->EnableWindow(FALSE);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -