📄 logindlg.cpp
字号:
// LoginDlg.cpp : implementation file
//
#include "stdafx.h"
#include "book.h"
#include "LoginDlg.h"
#include "ReaderDlg.h"
#include "BookDlg.h"
#include "InBookDlg.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_pName = _T("xingpan");
m_pPassWord = 9464;
//}}AFX_DATA_INIT
}
void CLoginDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CLoginDlg)
DDX_Control(pDX, IDC_Login, m_Login);
DDX_Text(pDX, IDC_Name, m_pName);
DDX_Text(pDX, IDC_PassWord, m_pPassWord);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CLoginDlg, CDialog)
//{{AFX_MSG_MAP(CLoginDlg)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CLoginDlg message handlers
/*函数功能:实现借阅者和图书管理员的登陆,并让他们进入不同的界面进行
操作如果是借阅者则跳到借阅者的使用界面,如果是图书管理员则跳到图书管
理员的界面*/
void CLoginDlg::OnOK()
{
// TODO: Add extra validation here
CString m_Data; //作为从选择框中得到的数据的临时变量
BOOL flag=0; //作为判断是否输入用户名和密码的标志,用来看是否关闭对话框
BOOL sign=0; //作为判断是否有该用户的标志
this->UpdateData(); //得到对话框中的数据
if(m_pName == "") //判断是否输入用户名,如果没有输出提示
{
::AfxMessageBox("请输入用户名");
flag=1;
}
if(m_pPassWord == 0) //判断是否输入密码,如果没有输出提示
{
::AfxMessageBox("请输入密码");
flag=1;
}
m_pManageSet.Open(); //打开管理者登陆资料数据库
m_pReaderSet.Open(); //打开借阅者资料数据库
if(flag==0)
m_Login.GetLBText(m_Login.GetCurSel(),m_Data); //将选择框中的数据读出并放入临时寄存器
if(m_Data=="借阅者"&&flag==0)
{ //如果登陆者为借阅者,判断用户名密码是否正确,是则跳转到借阅者操作画面
while(!m_pReaderSet.IsEOF()) //如果指针没有指空
{
if(m_pReaderSet.m_Name == m_pName) //如果用户名输入正确
{
if(m_pReaderSet.m_PassWord == m_pPassWord) //如果密码输入正确
{
CDialog::OnOK();
CReaderDlg dlg; //打开借阅者操作界面
dlg.DoModal();
sign=1; //找到所查的用户名和密码
break;
}
}
else
{
m_pReaderSet.MoveNext(); //移向下一个记录
sign=0; //没有找到所查的用户名和密码
}
}
if(sign==0)
::AfxMessageBox("输入用户名或密码错误");
}
if(m_Data=="图书馆管理员"&&flag==0)
{ //如果登陆者为图书馆管理员,判断用户名密码是否正确,跳转到管理员操作画面
while(!m_pManageSet.IsEOF()) //如果指针没有指空
{
if(m_pManageSet.m_Name == m_pName) //如果用户名输入正确
{
if(m_pManageSet.m_PassWord == m_pPassWord) //如果密码输入正确
{
CDialog::OnOK();
CInBookDlg dlg; //打开管理员操作界面
dlg.DoModal();
sign=1; //找到所查的用户名和密码
break;
}
}
else
{
m_pManageSet.MoveNext(); //移向下一个记录
sign=0; //没有找到所查的用户名和密码
}
}
if(sign==0)
::AfxMessageBox("输入用户名或密码错误");
}
m_pManageSet.Close(); //关闭管理者登陆资料数据库
m_pReaderSet.Close(); //关闭借阅者登陆资料数据库
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -