mygatherformula.cpp
来自「一个学生考试成绩管理的半成品」· C++ 代码 · 共 501 行 · 第 1/2 页
CPP
501 行
// MyGatherFormula.cpp : 实现文件
//
#include "stdafx.h"
#include "ScoreGather.h"
#include "MyGatherFormula.h"
#include ".\mygatherformula.h"
// CMyGatherFormula 对话框
IMPLEMENT_DYNAMIC(CMyGatherFormula, CDialog)
CMyGatherFormula::CMyGatherFormula(CWnd* pParent /*=NULL*/)
: CDialog(CMyGatherFormula::IDD, pParent)
{
}
CMyGatherFormula::~CMyGatherFormula()
{
}
void CMyGatherFormula::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_SEGMENT, m_segment);
DDX_Control(pDX, IDC_QUALIFIEDNUMBER, m_qualifiednumber);
DDX_Control(pDX, IDC_GOOD, m_good);
DDX_Control(pDX, IDC_GOODNUMBER, m_goodnumber);
DDX_Control(pDX, IDC_LOW, m_low);
DDX_Control(pDX, IDC_LOWNUMBER, m_lownumber);
DDX_Control(pDX, IDC_AVERAGENUMBER, m_averagenumber);
DDX_Control(pDX, IDC_AVERAGES, m_averages);
DDX_Control(pDX, IDC_SET, m_set);
DDX_Control(pDX, IDC_DATAORDER, m_dataorder);
DDX_Control(pDX, IDC_YEAR, m_year);
DDX_Control(pDX, IDC_DEFAUL, m_defaul);
DDX_Control(pDX, IDC_NEWVIEW, m_newview);
DDX_Control(pDX, IDC_DEL, m_del);
}
BEGIN_MESSAGE_MAP(CMyGatherFormula, CDialog)
ON_BN_CLICKED(IDC_SET, OnBnClickedSet)
ON_WM_ERASEBKGND()
ON_WM_CTLCOLOR()
ON_CBN_SELCHANGE(IDC_YEAR, OnCbnSelchangeYear)
ON_BN_CLICKED(IDC_DEFAUL, OnBnClickedDefaul)
ON_BN_CLICKED(IDC_NEWVIEW, OnBnClickedNewview)
ON_BN_CLICKED(IDC_DEL, OnBnClickedDel)
END_MESSAGE_MAP()
// CMyGatherFormula 消息处理程序
BOOL CMyGatherFormula::OnInitDialog()
{
CDialog::OnInitDialog();
m_tooltip.Create(this,TTS_ALWAYSTIP);
m_tooltip.Activate(TRUE);
m_tooltip.AddTool(GetDlgItem(IDC_SEGMENT),IDS_SEGMENT);
m_tooltip.AddTool(GetDlgItem(IDC_GOOD),IDS_GOOD);
m_tooltip.AddTool(GetDlgItem(IDC_GOODNUMBER),IDS_AVERAGENUMBER);
m_tooltip.AddTool(GetDlgItem(IDC_AVERAGENUMBER),IDS_AVERAGENUMBER);
m_tooltip.AddTool(GetDlgItem(IDC_QUALIFIEDNUMBER),IDS_AVERAGENUMBER);
m_tooltip.AddTool(GetDlgItem(IDC_LOW),IDS_LOW);
m_tooltip.AddTool(GetDlgItem(IDC_LOWNUMBER),IDS_AVERAGENUMBER);
m_tooltip.AddTool(GetDlgItem(IDC_AVERAGES),IDS_AVERAGES);
m_tooltip.AddTool(GetDlgItem(IDC_DATAORDER),IDS_PREFACE);
m_tooltip.AddTool(GetDlgItem(IDC_DEFAUL),IDS_DEFAUL);
m_tooltip.AddTool(GetDlgItem(IDC_NEWVIEW),IDS_NEWVIEW);
m_tooltip.AddTool(GetDlgItem(IDC_SET),IDS_SET);
m_tooltip.AddTool(GetDlgItem(IDC_YEAR),IDS_YEAR);
m_tooltip.AddTool(GetDlgItem(IDC_DEL),IDS_DELYEAR);
cwnd_year=GetDlgItem(IDC_YEAR);
for(int i=70;i<=99;i++)
{
CString str;
str.Format("%d",i);
m_good.AddString(str+"分为标准");
}
for(int i=59;i>=10;i--)
{
CString str;
str.Format("%d",i);
m_low.AddString(str+"分为标准");
}
m_segment.AddString("10分");
m_segment.AddString("5分");
m_segment.AddString("2分");
m_segment.AddString("4分");
m_segment.AddString("20分");
m_segment.AddString("25分");
m_segment.AddString("50分");
m_averages.AddString("(均分+及格率)÷2");
m_averages.AddString("(均分+及格率+低分率)÷3");
m_qualifiednumber.AddString("实考人数");
m_qualifiednumber.AddString("应考人数");
m_goodnumber.AddString("实考人数");
m_goodnumber.AddString("应考人数");
m_lownumber.AddString("实考人数");
m_lownumber.AddString("应考人数");
m_averagenumber.AddString("实考人数");
m_averagenumber.AddString("应考人数");
return TRUE;
}
void CMyGatherFormula::OnBnClickedDefaul()
{
if(m_year.GetCurSel()<0)
{
AfxMessageBox("必须选择学年度!");
GotoDlgCtrl(cwnd_year);
return;
}
else
{
m_good.SetCurSel(m_good.FindString(0,_T("80分为标准")));
m_low.SetCurSel(m_low.FindString(0,_T("30分为标准")));
m_segment.SetCurSel(0);
m_averages.SetCurSel(0);
m_qualifiednumber.SetCurSel(1);
m_goodnumber.SetCurSel(1);
m_lownumber.SetCurSel(1);
m_averagenumber.SetCurSel(1);
m_dataorder.SetCheck(1);
}
}
void CMyGatherFormula::UpDateView()
{
m_year.ResetContent();
clsctrl();
CString strSQL;
strSQL="select * from yearcourse";
HRESULT hTRes;
hTRes = m_pRecordset.CreateInstance(_T("ADODB.Recordset"));
if (SUCCEEDED(hTRes))
{
hTRes = m_pRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
((CScoreGatherApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
adOpenDynamic,adLockPessimistic,adCmdText);
while(!(m_pRecordset->adoEOF))
{
CString str=p_MySetClass->GetString(m_pRecordset->GetCollect("my_year"));
if(m_year.FindString(0,str)==-1)
m_year.AddString(str);
if(!(m_pRecordset->adoEOF))
m_pRecordset->MoveNext();
}
}
m_pRecordset->Close();
m_pRecordset=NULL;
strSQL="select * from formula";
hTRes = m_pRecordset.CreateInstance(_T("ADODB.Recordset"));
if (SUCCEEDED(hTRes))
{
hTRes = m_pRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
((CScoreGatherApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
adOpenDynamic,adLockPessimistic,adCmdText);
CString string;
while(!(m_pRecordset->adoEOF))
{
string.Empty();
string=p_MySetClass->GetString(m_pRecordset->GetCollect("my_year"));
m_year.SetCurSel(m_year.FindString(0,string));
int n=m_year.GetCount();
for(int i=0;i>n;i++)
{
CString str;
m_year.GetLBText(i,str);
if(string==str)
{
string.Empty();
string=p_MySetClass->GetString(m_pRecordset->GetCollect("my_segment"));
m_segment.SetCurSel(m_segment.FindString(0,string));
string.Empty();
string=p_MySetClass->GetString(m_pRecordset->GetCollect("my_qualifiedformula"));
m_qualifiednumber.SetCurSel(m_qualifiednumber.FindString(0,string.Right(string.GetLength()-10)));
string.Empty();
string=p_MySetClass->GetString(m_pRecordset->GetCollect("my_goodformula"));
m_good.SetCurSel(m_good.FindString(0,string.Left(10)));
m_goodnumber.SetCurSel(m_goodnumber.FindString(0,string.Right(8)));
string.Empty();
string=p_MySetClass->GetString(m_pRecordset->GetCollect("my_lowformula"));
m_low.SetCurSel(m_low.FindString(0,string.Left(10)));
m_lownumber.SetCurSel(m_lownumber.FindString(0,string.Right(8)));
string.Empty();
string=p_MySetClass->GetString(m_pRecordset->GetCollect("my_averageformula"));
m_averagenumber.SetCurSel(m_averagenumber.FindString(0,string));
string.Empty();
string=p_MySetClass->GetString(m_pRecordset->GetCollect("my_averagesformula"));
m_averages.SetCurSel(m_averages.FindString(0,string));
string.Empty();
string=p_MySetClass->GetString(m_pRecordset->GetCollect("my_dataorder"));
if(string==_T("是"))
m_dataorder.SetCheck(1);
else
m_dataorder.SetCheck(0);
}
else
clsctrl();
}
if(!(m_pRecordset->adoEOF))
m_pRecordset->MoveNext();
}
}
}
void CMyGatherFormula::OnBnClickedSet()
{
CString str0,str1,str2,str3,str4,str5,str6,str7,str8,str9;
str0=str1=str2=str3=str4=str5=str6=str7=str8=str9=_T("");
if(m_year.GetCurSel()<0)
{
AfxMessageBox("必须选择学年度!");
GotoDlgCtrl(cwnd_year);
return;
}
else
m_year.GetLBText(m_year.GetCurSel(),str0);
if(m_segment.GetCurSel()<0)
{
AfxMessageBox("必须选择[分数段],或单击[使用默认值]按钮自动填入默认值!");
GotoDlgCtrl(GetDlgItem(IDC_SEGMENT));
return;
}
else
m_segment.GetLBText(m_segment.GetCurSel(),str1);
if(m_qualifiednumber.GetCurSel()<0)
{
AfxMessageBox("必须选择[及格率取值],或单击[使用默认值]按钮自动填入默认值!");
GotoDlgCtrl(GetDlgItem(IDC_QUALIFIEDNUMBER));
return;
}
else
m_qualifiednumber.GetLBText(m_qualifiednumber.GetCurSel(),str2);
if(m_good.GetCurSel()<0)
{
AfxMessageBox("必须选择[红分率],或单击[使用默认值]按钮自动填入默认值!");
GotoDlgCtrl(GetDlgItem(IDC_GOOD));
return;
}
else
m_good.GetLBText(m_good.GetCurSel(),str3);
if(m_goodnumber.GetCurSel()<0)
{
AfxMessageBox("必须选择[红分率取值],或单击[使用默认值]按钮自动填入默认值!");
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?