📄 logdlg.cpp
字号:
// LogDlg.cpp : implementation file
//
#include "stdafx.h"
#include "miniSQL.h"
#include "LogDlg.h"
#include "UserDoc.h"
#include "Error.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
extern CMiniSQLApp theApp;
/////////////////////////////////////////////////////////////////////////////
// CLogDlg dialog
CLogDlg::CLogDlg(CWnd* pParent /*=NULL*/)
: CDialog(CLogDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CLogDlg)
m_code = _T("");
m_user = _T("");
//}}AFX_DATA_INIT
}
void CLogDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CLogDlg)
DDX_Text(pDX, IDC_EDIT_CODE, m_code);
DDV_MaxChars(pDX, m_code, 16);
DDX_Text(pDX, IDC_EDIT_USER, m_user);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CLogDlg, CDialog)
//{{AFX_MSG_MAP(CLogDlg)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CLogDlg message handlers
DWORD CLogDlg::GetType()
{
if( m_user == _T("admin") && m_code == _T("admin") )
{
NoUserData();
return LOG_ADMIN;
}
else if( m_user == _T("superuser") && m_code == _T("superuser") )
{
NoUserData();
return LOG_SUPERUSER;
}
else if( m_user == _T("user") && m_code == _T("user") )
{
NoUserData();
return LOG_USER;
}
else
{
CFileStatus status;
CString path( theApp.dir );
path += "\\user.dat";
if( CFile::GetStatus( path, status ) )
{
CFile File( path, CFile::modeRead );
CArchive ar( &File, CArchive::load );
int length = 0;
ar>>length;
for( int i = 0; i < length; i++ )
{
CUser user;
user.Serialize( ar );
if( m_user == user.m_user && m_code == user.m_code )
return user.m_type;
}
return 0;
}
else
{
CFile File( path, CFile::modeCreate | CFile::modeWrite );
CArchive ar( &File, CArchive::store );
int length = 0;
ar<<length<<'\0';
return 0;
}
}
}
void CLogDlg::EndDialog( int nResult )
{
CDialog::EndDialog( nResult );
UpdateData();
}
void CLogDlg::NoUserData()
{
CFileStatus status;
CString path( theApp.dir );
path += "\\user.dat";
if( !CFile::GetStatus( path, status ) )
{
CFile File( path, CFile::modeCreate | CFile::modeWrite );
CArchive ar( &File, CArchive::store );
int length = 0;
ar<<length<<'\0';
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -