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

📄 pwddlg.cpp

📁 Family Financial Management System是一个特别方便的理财系统。功能方便实用。
💻 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 + -