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

📄 userdlg.cpp

📁 车行管理系统
💻 CPP
字号:
// UserDlg.cpp : implementation file
//

#include "stdafx.h"
#include "pro.h"
#include "UserDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CUserDlg dialog


CUserDlg::CUserDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CUserDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CUserDlg)
	m_addpwd = _T("");
	m_addusn = _T("");
	m_rnpwd = _T("");
	m_ropwd = _T("");
	m_rusn = _T("");
	m_r = FALSE;
	m_a = FALSE;
	//}}AFX_DATA_INIT
}


void CUserDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CUserDlg)
	DDX_Control(pDX, IDC_RUSN, m_rusnc);
	DDX_Control(pDX, IDC_ROPWD, m_ropwdc);
	DDX_Control(pDX, IDC_RNPWD, m_rnpwdc);
	DDX_Control(pDX, IDC_ADDUSN, m_addusnc);
	DDX_Control(pDX, IDC_ADDPWD, m_addpwdc);
	DDX_Control(pDX, IDC_LIST_ALLUSER, m_ListCtrl);
	DDX_Text(pDX, IDC_ADDPWD, m_addpwd);
	DDX_Text(pDX, IDC_ADDUSN, m_addusn);
	DDX_Text(pDX, IDC_RNPWD, m_rnpwd);
	DDX_Text(pDX, IDC_ROPWD, m_ropwd);
	DDX_Text(pDX, IDC_RUSN, m_rusn);
	DDX_Check(pDX, IDC_CHECK1, m_r);
	DDX_Check(pDX, IDC_CHECK2, m_a);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CUserDlg, CDialog)
	//{{AFX_MSG_MAP(CUserDlg)
	ON_BN_CLICKED(IDC_BUTTON4, OnButton4)
	ON_BN_CLICKED(IDC_CHECK1, OnCheck1)
	ON_BN_CLICKED(IDC_CHECK2, OnCheck2)
	ON_BN_CLICKED(IDC_ADD, OnAdd)
	ON_BN_CLICKED(IDC_BUTTON5, OnButton5)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CUserDlg message handlers

BOOL CUserDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	m_ListCtrl.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);

	LV_COLUMN lvc;
	
	lvc.mask = LVCF_TEXT | LVCF_SUBITEM | LVCF_WIDTH /*| LVCF_FMT*/;
	

		l_db.Open ();
	lvc.iSubItem = 0;
	lvc.pszText = (char *)"ID";
	lvc.cx = 30;
	m_ListCtrl.InsertColumn(0,&lvc);
	
	lvc.iSubItem = 1;
	lvc.pszText = (char *)"用户名";
	lvc.cx = 180;
	m_ListCtrl.InsertColumn(1,&lvc);
	l_db.Requery();
	show();

	m_ropwdc.EnableWindow(FALSE);
	m_rnpwdc.EnableWindow(FALSE);
	m_addusnc.EnableWindow(FALSE);
	m_addpwdc.EnableWindow(FALSE);
	
	m_ListCtrl.SetItemState(0, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED);
	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

int CUserDlg::show()
{
if(!l_db.IsOpen ())
	{
		MessageBox("记录集打开错误");
		return 0;
	}
	m_ListCtrl.DeleteAllItems();

	//k_db.Requery();
	int i=0;
	if(!l_db.IsBOF ())l_db.MoveFirst ();
	while(!l_db.IsEOF() )
	{
	CString s;
	s.Format ("%d",i+1 );
	m_ListCtrl.InsertItem (i,s,0);
	m_ListCtrl.SetItemData (i,(DWORD)l_db.m_ID );
	m_ListCtrl.SetItemText (i,0,s );
	s.Format ("%s",l_db.m_column1 );
	m_ListCtrl.SetItemText(i,1,s);
	i++;
	l_db.MoveNext ();
	}
	
	return i;
}

void CUserDlg::OnButton4() 
{
	// TODO: Add your control notification handler code here
	POSITION pos=m_ListCtrl.GetFirstSelectedItemPosition();
	if(pos==NULL)
	{
		MessageBox("没有记录被选择.");
		
	}
	else
	{
		int idx;
		long id;
		
		idx=m_ListCtrl.GetNextSelectedItem (pos);
		id=m_ListCtrl.GetItemData (idx);
		if(!l_db.IsBOF ())l_db.MoveFirst();
		do
		{
			if(l_db.m_ID!=id)
				l_db.MoveNext ();
			else
			{
				l_db.Delete ();
				
				l_db.Requery();
				show();
				return;
			}
			
		}while(!l_db.IsEOF ());
		MessageBox("未找到记录");
		
		
		
		
		
	}
	
	
	
}

void CUserDlg::OnCheck1() 
{
	if(!m_r)
	{
		UpdateData(FALSE);
		UpdateData();
		POSITION pos=m_ListCtrl.GetFirstSelectedItemPosition();
		if(pos==NULL)
		{
			MessageBox("没有用户名被选择.");
			m_r=FALSE;
			UpdateData(FALSE);
			
		}
		else
		{
			int idx;
			long id;
			
			idx=m_ListCtrl.GetNextSelectedItem (pos);
			id=m_ListCtrl.GetItemData (idx);
			if(!l_db.IsBOF ())l_db.MoveFirst();
			while(!l_db.IsEOF ())
			{
				if(l_db.m_ID!=id)
					l_db.MoveNext ();
				else
				{
					m_rusn=l_db.m_column1;
					
					m_ropwdc.EnableWindow();
					m_rnpwdc.EnableWindow();
					m_addusnc.EnableWindow (FALSE);
					m_addpwdc.EnableWindow (FALSE);
					m_r=TRUE;
					m_a=FALSE;
					UpdateData(FALSE);
					
					return;
					
					
				}
				
			}
			MessageBox("未找到记录");
			m_r=FALSE;
			UpdateData(FALSE);
			return;
		}
		////////////////////////////////////
		// TODO: Add your control notification handler code here
		
		
		
	}
	else 
	{
		m_ropwdc.EnableWindow(FALSE);
		m_rnpwdc.EnableWindow(FALSE);
		m_r=FALSE;
		UpdateData(FALSE);
	}
	
}

void CUserDlg::OnCheck2() 
{
	// TODO: Add your control notification handler code here
	if(!m_a)
	{
	m_addusnc.EnableWindow();
	m_addpwdc.EnableWindow();
		m_ropwdc.EnableWindow(FALSE);
		m_rnpwdc.EnableWindow(FALSE);
	m_r=FALSE;
	m_a=TRUE;
	UpdateData(FALSE);
	}
	else 
	{
	m_addusnc.EnableWindow(FALSE);
	m_addpwdc.EnableWindow(FALSE);
	m_a=FALSE;
	UpdateData(FALSE);
	}
	
}

void CUserDlg::OnAdd() 
{
	// TODO: Add your control notification handler code here
	UpdateData();
	if(m_addusn.GetLength ()<=0)
	{
		MessageBox("用户名不能为空");
		m_addusnc.SetFocus ();
		return;
	}
	if(m_addpwd.GetLength ()<=0)
	{
		MessageBox("密码不能为空");
		m_addpwdc.SetFocus ();
		return;
	}
	l_db.AddNew();
	l_db.m_column1=m_addusn;
	l_db.m_column2=m_addpwd;
	l_db.Update ();
	l_db.Requery();
	show();
	MessageBox("新加用户成功,请记住你的密码.");
	m_addusn="";
	m_addpwd="";
	UpdateData(FALSE);
	
}

void CUserDlg::OnButton5() 
{
	// TODO: Add your control notification handler code here
		UpdateData();
	if(m_ropwd.GetLength ()<=0)
	{
		MessageBox("请输入原密码");
		m_ropwdc.SetFocus ();
		return;
	}
	if(m_rnpwd.GetLength ()<=0)
	{
		MessageBox("请输入新密码");
		m_rnpwdc.SetFocus ();
		return;
	}
	if(m_ropwd!=l_db.m_column2)
	{
		MessageBox("原密码错误,请重试.");
		m_ropwd="";
		UpdateData(FALSE);
		m_ropwdc.SetFocus ();
		return;

	}
	l_db.Edit();
	//l_db.m_column1=m_ropwd;
	l_db.m_column2=m_rnpwd;
	l_db.Update ();
	l_db.Requery();
	MessageBox("密码修改成功,请记住新密码");
	m_ropwd="";
	m_rnpwd="";
	UpdateData(FALSE);
	
}

⌨️ 快捷键说明

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