⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 indexset.cpp

📁 一个详细的学籍管理系统源码,支持数据查找、排序、导入、导出
💻 CPP
📖 第 1 页 / 共 2 页
字号:
// IndexSet.cpp : 实现文件
//

#include "stdafx.h"
#include "StudentRecords.h"
#include "IndexSet.h"


// CIndexSet 对话框

IMPLEMENT_DYNAMIC(CIndexSet, CDialog)

CIndexSet::CIndexSet(CWnd* pParent /*=NULL*/)
	: CDialog(CIndexSet::IDD, pParent)
{

}

CIndexSet::~CIndexSet()
{
}

void CIndexSet::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	DDX_Control(pDX, IDC_LIST1, m_list1);
	DDX_Control(pDX, IDC_GRADE, m_grade);
	DDX_Control(pDX, IDC_CLASS, m_class);
}


BEGIN_MESSAGE_MAP(CIndexSet, CDialog)
	ON_EN_CHANGE(IDC_EDIT2, &CIndexSet::OnEnChangeEdit2)
	ON_EN_CHANGE(IDC_EDIT3, &CIndexSet::OnEnChangeEdit3)
	ON_BN_CLICKED(IDC_SAVE, &CIndexSet::OnBnClickedSave)
	ON_BN_CLICKED(IDC_DEL, &CIndexSet::OnBnClickedDel)
	ON_BN_CLICKED(IDC_SAVETOFILE, &CIndexSet::OnBnClickedSavetofile)
	ON_WM_MOUSEWHEEL()
	ON_WM_SHOWWINDOW()
	ON_BN_CLICKED(IDC_NEW, &CIndexSet::OnBnClickedNew)
END_MESSAGE_MAP()


// CIndexSet 消息处理程序

BOOL CIndexSet::PreTranslateMessage(MSG* pMsg)
{
	if(pMsg->message==WM_KEYDOWN && pMsg->wParam==VK_RETURN)
	{
		OnBnClickedSave();
		return   true;
	}
	if(pMsg->message==WM_KEYDOWN && pMsg->wParam==VK_ESCAPE)
		return   true;

	return CDialog::PreTranslateMessage(pMsg);
}

BOOL CIndexSet::OnInitDialog()
{
	CDialog::OnInitDialog();

	UpdateFlexGrid(2,8,1,1);
	FromIniFile();

	return TRUE;
}

void CIndexSet::UpdateFlexGrid(int m,int n,int fm,int fn)
{
	m_list1.Clear();
	m_list1.SetRows(m);
	m_list1.SetCols(n);
	m_list1.SetFixedRows(fm);
	m_list1.SetFixedCols(fn);
	m_list1.SetRowHeight(0,440);
	m_list1.SetRowHeightMin(360);
	int i,j;
	for(i=0;i<m;i++)
	{
		for(j=0;j<n;j++)
		{
			m_list1.SetRow(long(i));
			m_list1.SetCol(long(j));
			m_list1.SetCellAlignment(4);
		}
	}
	CString str;
	str="序号";
	m_list1.SetTextMatrix(0,0,str);
	m_list1.SetColWidth(0,480);
	str="学        校";
	m_list1.SetTextMatrix(0,1,str);
	m_list1.SetColWidth(1,2200);
	str="年    级";
	m_list1.SetTextMatrix(0,2,str);
	m_list1.SetColWidth(2,1200);
	str="系      别";
	m_list1.SetTextMatrix(0,3,str);
	m_list1.SetColWidth(3,1600);
	str="班";
	m_list1.SetTextMatrix(0,4,str);
	m_list1.SetColWidth(4,720);
	str="学    科";
	m_list1.SetTextMatrix(0,5,str);
	m_list1.SetColWidth(5,2820);
	str="学籍号前缀";
	m_list1.SetTextMatrix(0,6,str);
	m_list1.SetColWidth(6,1000);
	str="学籍号域";
	m_list1.SetTextMatrix(0,7,str);
	m_list1.SetColWidth(7,1480);
}

void CIndexSet::OnEnChangeEdit2()
{
	int gradenumber=GetDlgItemInt(IDC_EDIT2,0,1);
	m_grade.ResetContent();
	for(int n=1;n<=gradenumber;n++)
	{
		CString str;
		str.Format("%d年级",n);
		m_grade.AddString(str);
	}
}

void CIndexSet::OnEnChangeEdit3()
{
	int classnumber=GetDlgItemInt(IDC_EDIT3,0,1);
	m_class.ResetContent();
	for(int n=1;n<=classnumber;n++)
	{
		CString str;
		str.Format("%d班",n);
		m_class.AddString(str);
	}
}

void CIndexSet::OnBnClickedSave()
{
	CString temp;
	CStringArray itemstr;
	GetDlgItemText(IDC_EDIT1,temp);
	if(temp.IsEmpty() || temp.Find(" ",0)>=0 || temp.Find("~",0)>=0)
	{
		GotoDlgCtrl(GetDlgItem(IDC_EDIT1));
		MessageBox("<学校>信息不完整!","错误",MB_OK|MB_ICONERROR);
		itemstr.RemoveAll();
		return;
	}
	//进行学校名称校对,如有异则进行询问,再进行相应处理
	for(int r=1;r<m_list1.GetRows();r++)
	{
		if(temp!=m_list1.GetTextMatrix(r,1))
		{
			if(MessageBox("学校名称与已有学校名称不符,是否采用新设的学校名称?","警告",MB_YESNO|MB_ICONASTERISK|MB_DEFBUTTON2)==IDNO)
			{
				GotoDlgCtrl(GetDlgItem(IDC_EDIT1));
				itemstr.RemoveAll();
				return;
			}
			else
				for(int r=1;r<m_list1.GetRows();r++)
					if(temp!=m_list1.GetTextMatrix(r,1))
						m_list1.SetTextMatrix(r,1,temp);
		}
	}
	//校对完毕
	itemstr.Add(temp);
	if(m_grade.GetCurSel()>=0)
		m_grade.GetLBText(m_grade.GetCurSel(),temp);
	else
	{
		GotoDlgCtrl(GetDlgItem(IDC_GRADE));
		MessageBox("<年级>信息不完整!","错误",MB_OK|MB_ICONERROR);
		itemstr.RemoveAll();
		return;
	}
	itemstr.Add(temp);
	GetDlgItemText(IDC_EDIT6,temp);
	if(temp.IsEmpty())
	{
		CString message(_T(""));
		message+=itemstr[0];
		message+=" ";
		message+="不分系别,是否继续!";
		if(MessageBox(message,"提示",MB_YESNO|MB_ICONASTERISK|MB_DEFBUTTON2)==IDNO)
		{
			GotoDlgCtrl(GetDlgItem(IDC_EDIT6));
			itemstr.RemoveAll();
			return;
		}
	}
	if(temp.Find(" ",0)>=0 || temp.Find("~",0)>=0)
	{
		GotoDlgCtrl(GetDlgItem(IDC_EDIT6));
		MessageBox("<系别>信息不完整!","错误",MB_OK|MB_ICONERROR);
		itemstr.RemoveAll();
		return;
	}
	itemstr.Add(temp);
	if(m_class.GetCurSel()>=0)
		m_class.GetLBText(m_class.GetCurSel(),temp);
	else
	{
		GotoDlgCtrl(GetDlgItem(IDC_CLASS));
		MessageBox("<班级>信息不完整!","错误",MB_OK|MB_ICONERROR);
		itemstr.RemoveAll();
		return;
	}
	itemstr.Add(temp);
	GetDlgItemText(IDC_EDIT7,temp);
	if(temp.IsEmpty() || temp.Find(" ",0)>=0 || temp.Find(",",0)>=0 || temp.Find("~",0)>=0)
	{
		GotoDlgCtrl(GetDlgItem(IDC_EDIT7));
		MessageBox("<学科>信息不规范!","错误",MB_OK|MB_ICONERROR);
		itemstr.RemoveAll();
		return;
	}
	if(temp.Find(",")==-1)
	{
		CString message(_T(""));
		message+=itemstr[1];
		message+=" ";
		message+=itemstr[3];
		message+=" ";
		message+="只开设一门学科,是否继续!";
		if(MessageBox(message,"警告",MB_YESNO|MB_ICONASTERISK|MB_DEFBUTTON2)==IDNO)
		{
			GotoDlgCtrl(GetDlgItem(IDC_EDIT7));
			itemstr.RemoveAll();
			return;
		}
	}
	itemstr.Add(temp);
	GetDlgItemText(IDC_EDIT8,temp);
	if(temp.IsEmpty())
	{
		CString message(_T(""));
		message+=itemstr[1];
		message+=" ";
		message+=itemstr[3];
		message+=" ";
		message+="没有学籍号前缀,是否继续!";
		if(MessageBox(message,"提示",MB_YESNO|MB_ICONASTERISK|MB_DEFBUTTON2)==IDNO)
		{
			GotoDlgCtrl(GetDlgItem(IDC_EDIT8));
			itemstr.RemoveAll();
			return;
		}
	}
	if(temp.Find(" ")!=-1 || temp.Find("~",0)>=0)
	{
		GotoDlgCtrl(GetDlgItem(IDC_EDIT8));
		MessageBox("<学籍号前缀>信息不完整!","错误",MB_OK|MB_ICONERROR);
		itemstr.RemoveAll();
		return;
	}
	itemstr.Add(temp);
	GetDlgItemText(IDC_EDIT4,temp);
	if(temp.IsEmpty() || temp.Find(" ",0)>=0 || temp.Find("~",0)>=0)
	{
		GotoDlgCtrl(GetDlgItem(IDC_EDIT4));
		MessageBox("<学籍号>信息不完整!","错误",MB_OK|MB_ICONERROR);
		itemstr.RemoveAll();
		return;
	}
	itemstr.Add(temp);
	GetDlgItemText(IDC_EDIT5,temp);
	if(temp.IsEmpty() || temp.Find(" ",0)>=0 || temp.Find("~",0)>=0)
	{
		GotoDlgCtrl(GetDlgItem(IDC_EDIT5));
		MessageBox("<学籍号>信息不完整!","错误",MB_OK|MB_ICONERROR);
		itemstr.RemoveAll();
		return;
	}
	itemstr.Add(temp);
	if(atoi(itemstr[(int)itemstr.GetCount()-2])==0 || atoi(itemstr[(int)itemstr.GetCount()-1])==0 || atoi(itemstr[(int)itemstr.GetCount()-2])>=atoi(itemstr[(int)itemstr.GetCount()-1]) || itemstr[(int)itemstr.GetCount()-1].GetLength()<itemstr[(int)itemstr.GetCount()-2].GetLength())//学籍号域验证
	{
		GotoDlgCtrl(GetDlgItem(IDC_EDIT4));
		MessageBox("错误的<学籍号>信息!","错误",MB_OK|MB_ICONERROR);
		itemstr.RemoveAll();
		return;
	}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -