?? mainfrm.cpp
字號:
// MainFrm.cpp : implementation of the CMainFrame class
//
#include "stdafx.h"
#include "DATABASE.h"
#include "MainFrm.h"
#include "SzDlg.h"
#include "SzDlg2.h"
#include "CodeSet.h"
#include "KmSet.h"
#include "PSWset.h"
#include "PAS.h"
#include "PassDlg.h"
#include "Nuser.h"
#include "KmSet2.h"
#include "DelUser.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CMainFrame
IMPLEMENT_DYNCREATE(CMainFrame, CFrameWnd)
BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
//{{AFX_MSG_MAP(CMainFrame)
ON_WM_CREATE()
ON_COMMAND(ID_MENU_SHEZHI, OnMenuShezhi)
ON_COMMAND(ID_MENU_XIUGAI, OnMenuXiugai)
ON_COMMAND(ID_MENU_XINJIAN, OnMenuXinjian)
ON_COMMAND(ID_MENU_DELUSER, OnMenuDeluser)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
static UINT indicators[] =
{
ID_SEPARATOR, // status line indicator
ID_SEPARATOR,
ID_INDICATOR_CAPS,
ID_INDICATOR_NUM,
ID_INDICATOR_SCRL,
};
/////////////////////////////////////////////////////////////////////////////
// CMainFrame construction/destruction
CMainFrame::CMainFrame()
{
// TODO: add member initialization code here
}
CMainFrame::~CMainFrame()
{
}
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
return -1;
if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
{
TRACE0("Failed to create toolbar\n");
return -1; // fail to create
}
if (!m_wndStatusBar.Create(this) ||
!m_wndStatusBar.SetIndicators(indicators,
sizeof(indicators)/sizeof(UINT)))
{
TRACE0("Failed to create status bar\n");
return -1; // fail to create
}
// TODO: Delete these three lines if you don't want the toolbar to
// be dockable
m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndToolBar);
return 0;
}
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CFrameWnd::PreCreateWindow(cs) )
return FALSE;
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
return TRUE;
}
/////////////////////////////////////////////////////////////////////////////
// CMainFrame diagnostics
#ifdef _DEBUG
void CMainFrame::AssertValid() const
{
CFrameWnd::AssertValid();
}
void CMainFrame::Dump(CDumpContext& dc) const
{
CFrameWnd::Dump(dc);
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CMainFrame message handlers
void CMainFrame::OnMenuShezhi()
{
CSzDlg dlg1;
CSzDlg2 dlg2;
CCodeSet codeSet;
CKmSet kmSet;
CKmSet2 kmSet2;
CString str;
if(dlg1.DoModal()==IDOK)
{
str=dlg1.m_profcode;
dlg2.m_profcode=str;
codeSet.Open();
codeSet.m_strFilter.Format("profcode='%s'",str);
codeSet.Requery();
dlg2.m_profname=codeSet.m_profname;
kmSet2.Open();
kmSet2.m_strFilter.Format("profcode='%s'",str);
kmSet2.Requery();
dlg2.m_s1=kmSet2.m_subject1;
dlg2.m_c1=kmSet2.m_credit1;
dlg2.m_s2=kmSet2.m_subject2;
dlg2.m_c2=kmSet2.m_credit2;
dlg2.m_s3=kmSet2.m_subject3;
dlg2.m_c3=kmSet2.m_credit3;
dlg2.m_s4=kmSet2.m_subject4;
dlg2.m_c4=kmSet2.m_credit4;
dlg2.m_s5=kmSet2.m_subject5;
dlg2.m_c5=kmSet2.m_credit5;
dlg2.m_s6=kmSet2.m_subject6;
dlg2.m_c6=kmSet2.m_credit6;
dlg2.m_s7=kmSet2.m_subject7;
dlg2.m_c7=kmSet2.m_credit7;
dlg2.m_s8=kmSet2.m_subject8;
dlg2.m_c8=kmSet2.m_credit8;
if(dlg2.DoModal()==IDOK){
UpdateData(TRUE);
kmSet2.Edit();
kmSet2.m_subject1=dlg2.m_s1;
kmSet2.m_credit1=dlg2.m_c1;
kmSet2.m_subject2=dlg2.m_s2;
kmSet2.m_credit2=dlg2.m_c2;
kmSet2.m_subject3=dlg2.m_s3;
kmSet2.m_credit3=dlg2.m_c3;
kmSet2.m_subject4=dlg2.m_s4;
kmSet2.m_credit4=dlg2.m_c4;
kmSet2.m_subject5=dlg2.m_s5;
kmSet2.m_credit5=dlg2.m_c5;
kmSet2.m_subject6=dlg2.m_s6;
kmSet2.m_credit6=dlg2.m_c6;
kmSet2.m_subject7=dlg2.m_s7;
kmSet2.m_credit7=dlg2.m_c7;
kmSet2.m_subject8=dlg2.m_s8;
kmSet2.m_credit8=dlg2.m_c8;
kmSet2.Update();
kmSet2.Requery();
AfxMessageBox("修改成功!");
UpdateData(FALSE);
}
/*kmSet.Open();
kmSet.m_strFilter.Format("profcode='%s'",str);
kmSet.Requery();
dlg2.m_s1=kmSet.m_subject;
dlg2.m_c1=kmSet.m_credit;
kmSet.MoveNext();
dlg2.m_s2=kmSet.m_subject;
dlg2.m_c2=kmSet.m_credit;
kmSet.MoveNext();
dlg2.m_s3=kmSet.m_subject;
dlg2.m_c3=kmSet.m_credit;
kmSet.MoveNext();
dlg2.m_s4=kmSet.m_subject;
dlg2.m_c4=kmSet.m_credit;
if(dlg2.DoModal()==IDOK){
UpdateData(TRUE);
kmSet.Edit();
kmSet.m_subject=dlg2.m_s4;
kmSet.m_credit=dlg2.m_c4;
kmSet.Update();
kmSet.MovePrev();
kmSet.Edit();
kmSet.m_subject=dlg2.m_s3;
kmSet.m_credit=dlg2.m_c3;
kmSet.Update();
kmSet.MovePrev();
kmSet.Edit();
kmSet.m_subject=dlg2.m_s2;
kmSet.m_credit=dlg2.m_c2;
kmSet.Update();
kmSet.MovePrev();
kmSet.Edit();
kmSet.m_subject=dlg2.m_s1;
kmSet.m_credit=dlg2.m_c1;
kmSet.Update();
kmSet.Requery();
AfxMessageBox("修改成功!");
UpdateData(FALSE);
}*/
}
}
void CMainFrame::OnMenuXiugai()
{
int flag=0;
CPSWset pasSet;
CPAS dlg;
if(dlg.DoModal()==IDOK){
pasSet.Open();
while(!pasSet.IsEOF()){
if(dlg.m_opass==pasSet.m_pass&&dlg.m_ouser==pasSet.m_user){
flag=1;
break;
}
pasSet.MoveNext();
}
if(flag)
{
pasSet.Edit();
pasSet.m_user=dlg.m_nuser;
pasSet.m_pass=dlg.m_npass;
pasSet.Update();
UpdateData(FALSE);
AfxMessageBox("密碼修改成功,以后請您使用新的用戶名和密碼登陸!");
}
else
AfxMessageBox("舊密碼錯誤,請重新輸入!");
}
}
void CMainFrame::OnMenuXinjian()
{
CPSWset pasSet;
CNuser dlg;
CString adm_pas;
if(dlg.DoModal()==IDOK){
pasSet.Open();
pasSet.m_strFilter="user='administer'";
pasSet.Requery();
adm_pas=pasSet.m_pass;
if(dlg.m_pas1==adm_pas)
{
pasSet.AddNew();
pasSet.m_user=dlg.m_user;
pasSet.m_pass=dlg.m_pas2;
pasSet.Update();
UpdateData(FALSE);
AfxMessageBox("新用戶創建成功,新的用戶名和密碼即刻生效!");
}
else
AfxMessageBox("管理員密碼錯誤,無法創建新用戶,請再試一次!");
}
}
void CMainFrame::OnMenuDeluser()
{
CPSWset pasSet;
CDelUser dlg;
CString adm_pas;
CRecordsetStatus status;
if(dlg.DoModal()==IDOK){
pasSet.Open();
pasSet.m_strFilter="user='administer'";
pasSet.Requery();
adm_pas=pasSet.m_pass;
if(dlg.m_pas==adm_pas)
{
pasSet.m_strFilter.Format("user='%s'",dlg.m_user);
pasSet.Requery();
if(!pasSet.IsEOF()){
pasSet.GetStatus(status);
pasSet.Delete();
if(status.m_lCurrentRecord==0)
pasSet.MoveNext();
else
pasSet.MoveFirst();
pasSet.Requery();
UpdateData(FALSE);
AfxMessageBox("用戶刪除成功,該用戶不再具有相應權限!");
}
else AfxMessageBox("無法刪除用戶,您要刪除的用戶不存在!");
}
else AfxMessageBox("管理員密碼錯誤,無法刪除用戶,請再試一次!");
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -