📄 badialog.cpp
字号:
// BaDialog.cpp : implementation file
//
#include "stdafx.h"
#include "lhwy.h"
#include "BaDialog.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CBaDialog dialog
IMPLEMENT_SERIAL(CBaDialog, CDialog, VERSIONABLE_SCHEMA | 2 )
CBaDialog::CBaDialog(CWnd* pParent /*=NULL*/)
: CDialog(CBaDialog::IDD, pParent)
{
//{{AFX_DATA_INIT(CBaDialog)
//}}AFX_DATA_INIT
}
void CBaDialog::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CBaDialog)
DDX_Control(pDX, IDC_EXPORT, m_ExportButtom);
DDX_Control(pDX, IDC_STATR, m_StaButton);
DDX_Control(pDX, IDC_DELECT, m_DelButton);
DDX_Control(pDX, IDC_FIND, m_FindButton);
DDX_Control(pDX, IDC_EDIT, m_EditButton);
DDX_Control(pDX, IDC_ALL, m_AllButton);
DDX_Control(pDX, IDC_ADD, m_AddButton);
DDX_Control(pDX, IDC_COMBO1, m_cob);
DDX_Control(pDX, IDC_LIST1, m_ListCtrlb);
DDX_Control(pDX, IDC_LIST2, m_ListCtrll);
DDX_Control(pDX, IDC_LIST3, m_ListCtrlx);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CBaDialog, CDialog)
//{{AFX_MSG_MAP(CBaDialog)
ON_BN_CLICKED(IDC_STATR, OnStatr)
ON_WM_TIMER()
ON_BN_CLICKED(IDC_ADD, OnAdd)
ON_BN_CLICKED(IDC_DELECT, OnDelect)
ON_BN_CLICKED(IDC_FIND, OnFind)
ON_BN_CLICKED(IDC_ALL, OnAll)
ON_BN_CLICKED(IDC_EDIT, OnEdit)
ON_NOTIFY(LVN_COLUMNCLICK, IDC_LIST3, OnColumnclickList3)
ON_MESSAGE(WM_CREATETABEL,OnCreateTabel)
ON_MESSAGE(WM_DELTABEL,OnDelTabel)
ON_CBN_SELCHANGE(IDC_COMBO1, OnSelchangeCombo1)
ON_BN_CLICKED(IDC_EXPORT, OnExport)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CBaDialog message handlers
BOOL CBaDialog::OnInitDialog()
{
CDialog::OnInitDialog();
CDRecordset m_Set(&theApp.m_DB);
CBRecordset m_bSet(&theApp.m_DB);
CTRecordset m_tSet(&theApp.m_DB);
unsigned i=0;
CODBCFieldInfo Info;
m_Set.Open(AFX_DB_USE_DEFAULT_TYPE,"一班STUDENT");
m_ListCtrlx.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
for( i=0;i<m_Set.m_nFields;i++)
{
m_Set.GetODBCFieldInfo(i,Info);
m_ListCtrlx.InsertColumn(i,Info.m_strName,LVCFMT_LEFT,70);
}
m_Set.Close();
m_bSet.Open(AFX_DB_USE_DEFAULT_TYPE,"一班OBJECT");
m_ListCtrlb.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
for( i=0;i<m_bSet.m_nFields;i++)
{
m_bSet.GetODBCFieldInfo(i,Info);
m_ListCtrlb.InsertColumn(i,Info.m_strName,LVCFMT_LEFT,80);
}
m_bSet.Close();
m_ListCtrll.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
m_ListCtrll.InsertColumn(0,_T("科目"),LVCFMT_IMAGE|LVCFMT_LEFT);
m_ListCtrll.InsertColumn(1,"任课老师");
for(i=0;i<2;i++)
m_ListCtrll.SetColumnWidth(i,80);
m_cob.SetCurSel(0);
this->Enable(FALSE);
m_Timer=SetTimer(1,2,NULL);
m_bIsAsc=TRUE;
m_bS=TRUE;
GetModuleFileName(NULL,sPath.GetBufferSetLength(MAX_PATH+1),MAX_PATH);
sPath.ReleaseBuffer ();
int nPos;
nPos=sPath.ReverseFind ('\\');
sPath=sPath.Left (nPos);
nPos=sPath.ReverseFind('\\');
sPath=sPath.Left (nPos);
lpszFile = sPath + "\\tect.txt";
CFile aFile;
CFileFind fFind;
BOOL bSuccess;
bSuccess=fFind.FindFile( lpszFile);
if(!bSuccess)
aFile.Open( lpszFile,CFile::modeCreate);
else
{
aFile.Open( lpszFile,CFile::modeReadWrite);
CArchive arr(&aFile,CArchive::load);
Serialize( arr);
if(m_Three=="三班")
m_cob.AddString(m_Three);
if(m_Four=="四班")
m_cob.AddString(m_Four);
if(m_Five=="五班")
m_cob.AddString(m_Five);
if(m_Six=="六班")
m_cob.AddString(m_Six);
if(m_Seven=="七班")
m_cob.AddString(m_Seven);
if(m_Eight=="八班")
m_cob.AddString(m_Eight);
}
aFile.Close();
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CBaDialog::OnStatr()
{
// TODO: Add your control notification handler code here
m_ListCtrlx.DeleteAllItems();
m_ListCtrlb.DeleteAllItems();
m_ListCtrll.DeleteAllItems();
if(m_Set.IsOpen())
m_Set.Close();
if(m_bSet.IsOpen())
m_bSet.Close();
m_cob.GetLBText(m_cob.GetCurSel(),m_Getstring);
this->Select();
CString str;
str.Format("%sTECHER",m_Getstring);
m_tSet.Open(AFX_DB_USE_DEFAULT_TYPE,str);
m_nRecordCount=this->Show();
this->display();
this->exhibit();
m_bS = GetDlgItem(IDC_STATR)->EnableWindow(FALSE);
this->Enable(TRUE);
}
int CBaDialog::Show()
{
int i=0;
m_Set.MoveFirst();
if(m_Set.m_column1==0)
{
m_Set.Close();
return i;
}
do
{
CString s;
s.Format("%d",m_Set.m_column1);
m_ListCtrlx.InsertItem(i,s,0);
m_ListCtrlx.SetItemText(i,1,m_Set.m_column2);
s.Format("%.1f",m_Set.m_column3);
m_ListCtrlx.SetItemText(i,2,s);
s.Format("%.1f",m_Set.m_column4);
m_ListCtrlx.SetItemText(i,3,s);
s.Format("%.1f",m_Set.m_column5);
m_ListCtrlx.SetItemText(i,4,s);
s.Format("%.1f",m_Set.m_column6);
m_ListCtrlx.SetItemText(i,5,s);
s.Format("%.1f",m_Set.m_column7);
m_ListCtrlx.SetItemText(i,6,s);
s.Format("%.1f",m_Set.m_column8);
m_ListCtrlx.SetItemText(i,7,s);
s.Format("%.2f",m_Set.m_column9);
m_ListCtrlx.SetItemText(i,8,s);
i++;
m_Set.MoveNext();
} while(!m_Set.IsEOF());
m_Set.Close();
return i;
}
void CBaDialog::display()
{
int i=0;
m_bSet.MoveFirst();
do
{
CString s;
m_ListCtrlb.InsertItem(i,m_bSet.m_column1,0);
s.Format("%.1f",m_bSet.m_column2);
m_ListCtrlb.SetItemText(i,1,s);
s.Format("%.2f",m_bSet.m_column3);
m_ListCtrlb.SetItemText(i,2,s);
s.Format("%d",m_bSet.m_column4);
m_ListCtrlb.SetItemText(i,3,s);
s.Format("%d",m_bSet.m_column5);
m_ListCtrlb.SetItemText(i,4,s);
i++;
m_bSet.MoveNext();
} while(!m_bSet.IsEOF());
m_bSet.Close();
}
void CBaDialog::exhibit()
{
int i=0;
do
{
m_ListCtrll.InsertItem(i,m_tSet.m_column1,0);
m_ListCtrll.SetItemText(i,1,m_tSet.m_column2);
i++;
m_tSet.MoveNext();
}while(!m_tSet.IsEOF());
m_tSet.Close();
}
void CBaDialog::Enable( BOOL p)
{
GetDlgItem(IDC_ADD)->EnableWindow(p);
GetDlgItem(IDC_DELECT)->EnableWindow(p);
GetDlgItem(IDC_EDIT)->EnableWindow(p);
GetDlgItem(IDC_FIND)->EnableWindow(p);
GetDlgItem(IDC_ALL)->EnableWindow(p);
GetDlgItem(IDC_EXPORT)->EnableWindow(p);
}
CString CBaDialog::Select()
{
CString str;
str.Format("%sSTUDENT",m_Getstring);
m_Set.Open(AFX_DB_USE_DEFAULT_TYPE,str);
str.Format("%sOBJECT",m_Getstring);
m_bSet.Open(AFX_DB_USE_DEFAULT_TYPE,str);
return m_Getstring;
}
void CBaDialog::Equal()
{
for(int i=0;i<5;i++)
{
float p=0;
if(i==0)
p=m_Set.m_column3;
if(i==1)
p=m_Set.m_column4;
if(i==2)
p=m_Set.m_column5;
if(i==3)
p=m_Set.m_column6;
if(i==4)
p=m_Set.m_column7;
m_bSet.Edit();
if(Selec==FALSE)
{
m_bSet.m_column2-=p;
m_bSet.m_column3=(float)(m_bSet.m_column2/m_nRecordCount);
if(p>=60)
m_bSet.m_column4-=1;
if(p>=80)
m_bSet.m_column5-=1;
}
else
{
m_bSet.m_column2+=p;
m_bSet.m_column3=(float)(m_bSet.m_column2/m_nRecordCount);
if(p>=60)
m_bSet.m_column4+=1;
if(p>=80)
m_bSet.m_column5+=1;
}
m_bSet.Update();
if(!m_bSet.IsEOF())
m_bSet.MoveNext();
else
break;
}
}
void CBaDialog::Xuan()
{
m_ListCtrlb.DeleteAllItems();
this->display();
m_ListCtrlx.DeleteAllItems();
this->Show();
}
void CBaDialog::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
CString m_string;
m_cob.GetLBText(m_cob.GetCurSel(),m_string);
if(m_Getstring!=m_string)
{
GetDlgItem(IDC_STATR)->EnableWindow(TRUE);
this->Enable(FALSE);
}
CDialog::OnTimer(nIDEvent);
}
void CBaDialog::OnAdd()
{
// TODO: Add your control notification handler code here
Selec=TRUE;
CAddialog dlg;
if(dlg.DoModal()==IDOK)
{
CString str=this->Select();
if(str=="一班")
{
if(dlg.m_nxue>=200||dlg.m_nxue<100)
{
AfxMessageBox("一班学号在100—200之间");
m_Set.Close();
m_bSet.Close();
return;
}
}
else if(str=="二班")
{
if(dlg.m_nxue<200||dlg.m_nxue>=300)
{
AfxMessageBox("二班学号在200—300之间");
m_Set.Close();
m_bSet.Close();
return;
}
}
else if(str=="三班")
{
if(dlg.m_nxue<300||dlg.m_nxue>=400)
{
AfxMessageBox("三班学号在300—400之间");
m_Set.Close();
m_bSet.Close();;
return;
}
}
else if(str=="四班")
{
if(dlg.m_nxue<400||dlg.m_nxue>=500)
{
AfxMessageBox("三班学号在400—500之间");
m_Set.Close();
m_bSet.Close();
return;
}
}
else if(str=="五班")
{if(dlg.m_nxue<500||dlg.m_nxue>=600)
{AfxMessageBox("三班学号在500—600之间");
m_Set.Close();
m_bSet.Close();
return;}
}
else if(str=="六班")
{if(dlg.m_nxue<600||dlg.m_nxue>=700)
{AfxMessageBox("六班学号在400—500之间");
m_Set.Close();
m_bSet.Close();
return;}
}
else if(str=="七班")
{if(dlg.m_nxue<700||dlg.m_nxue>=800)
{AfxMessageBox("七班学号在700—800之间");
m_Set.Close();
m_bSet.Close();;
return;}
}
else if(str=="八班")
{if(dlg.m_nxue<800||dlg.m_nxue>=900)
{AfxMessageBox("八班学号在800—900之间");
m_Set.Close();
m_bSet.Close();
return;}
}
m_Set.AddNew();
m_nRecordCount+=1;
m_Set.m_column1=dlg.m_nxue;
m_Set.m_column2=dlg.m_strName;
m_Set.m_column3=dlg.m_fmaths;
m_Set.m_column4=dlg.m_fphysical;
m_Set.m_column5=dlg.m_fchemistry;
m_Set.m_column6=dlg.m_fenglish;
m_Set.m_column7=dlg.m_fpolitic;
m_Set.m_column8=dlg.m_fmaths+dlg.m_fphysical+dlg.m_fchemistry+dlg.m_fenglish+dlg.m_fpolitic;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -