📄 sms.cpp
字号:
// SMS.cpp : 定义应用程序的类行为。
//
#include "stdafx.h"
#include "SMS.h"
#include "SMSDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
#include <odbcinst.h>
// CSMSApp
BEGIN_MESSAGE_MAP(CSMSApp, CWinApp)
ON_COMMAND(ID_HELP, &CWinApp::OnHelp)
END_MESSAGE_MAP()
// CSMSApp 构造
CSMSApp::CSMSApp()
{
// TODO: 在此处添加构造代码,
// 将所有重要的初始化放置在 InitInstance 中
}
// 唯一的一个 CSMSApp 对象
CSMSApp theApp;
//下面是为修改对话框初始化时使用的数据集,也是全局变量
//Word相关
CString m_sStudyWord_Word;
CString m_sStudyWord_Mean;
CString m_sStudyWord_Group;
CString m_sStudyWord_Remark;
//Course相关
int m_iStudyCourse_Id;//主键
CString m_sStudyCourse_Name;
CString m_sStudyCourse_Term;
CString m_sStudyCourse_Day;//星期
CString m_sStudyCourse_Time;//节数
CString m_sStudyCourse_Place;
CString m_sStudyCourse_TeacherName;
CString m_sStudyCourse_Kind;
CString m_sStudyCourse_Credit;
CString m_sStudyCourse_ExamTime;
CString m_sStudyCourse_Remark;
//StudyPlan相关
int m_iStudyPlan_Id;
CTime m_tStudyPlan_MakeDate;
CTime m_tStudyPlan_StartDate;
CTime m_tStudyPlan_EndDate;
CString m_sStudyPlan_Name;
CString m_sStudyPlan_Content;
CString m_sStudyPlan_Kind;
CString m_sStudyPlan_Finished;
CString m_sStudyPlan_Remark;
//Logion相关
int m_iStudyLogion_Id;
CString m_sStudyLogion_Content;
CString m_sStudyLogion_Author;
CString m_sStudyLogion_Origion;
CString m_sStudyLogion_Kind;
//Calenda相关
int m_iWorkCalenda_Id;
CString m_sWorkCalenda_Name;
CTime m_tWorkCalenda_StartDate;
CTime m_tWorkCalenda_EndDate;
CString m_sWorkCalenda_Charge;
CString m_sWorkCalenda_Kind;
CString m_sWorkCalenda_GroupName;
CString m_sWorkCalenda_Remark;
//Parttime相关
int m_iWorkParttime_Id;
CString m_sWorkParttime_Name;
CString m_sWorkParttime_Place;
CTime m_tWorkParttime_StartDate;
CTime m_tWorkParttime_EndDate;
CString m_sWorkParttime_LinkMan;
double m_dWorkParttime_TotalWage;
double m_dWorkParttime_WagePayed;
CString m_sWorkParttime_Remark;
//Group相关
int m_iSocialiseGroup_Id;
CString m_sSocialiseGroup_Name;
CString m_sSocialiseGroup_LinkMan;
CString m_sSocialiseGroup_Kind;
CString m_sSocialiseGroup_Email;
CString m_sSocialiseGroup_Address;
CString m_sSocialiseGroup_Code;
CString m_sSocialiseGroup_Phone;
CString m_sSocialiseGroup_Fax;
CString m_sSocialiseGroup_QQ;
CString m_sSocialiseGroup_MSN;
CString m_sSocialiseGroup_Web;
CString m_sSocialiseGroup_Remark;
//Person相关
int m_iSocialisePerson_Id;
CString m_sSocialisePerson_Name;
CString m_sSocialisePerson_NickName;
CString m_sSocialisePerson_Sex;
CTime m_tSocialisePerson_Birthday;
CString m_sSocialisePerson_Phone;
CString m_sSocialisePerson_Fax;
CString m_sSocialisePerson_Address;
CString m_sSocialisePerson_Code;
CString m_sSocialisePerson_Email;
CString m_sSocialisePerson_MSN;
CString m_sSocialisePerson_Web;
CString m_sSocialisePerson_QQ;
CString m_sSocialisePerson_Group;
CString m_sSocialisePerson_Uint;
CString m_sSocialisePerson_Remark;
//Bank 相关
int m_iFinanceBank_Id;
CString m_sFinanceBank_CardId;
bool m_bFinanceBank_Action;
double m_dFinanceBank_Lastleft;
double m_dFinanceBank_Account;
double m_dFinanceBank_Left;
CTime m_tFinanceBank_ODate;
CTime m_tFinanceBank_RDate;
CString m_sFinanceBank_Remark;
//Borrow 相关
int m_iFinanceBorrow_Id;
CString m_sFinanceBorrow_OtherName;
CString m_sFinanceBorrow_Action;
double m_dFinanceBorrow_Amount;
CTime m_tFinanceBorrow_StartDate;
CTime m_tFinanceBorrow_EndDate;
CTime m_tFinanceBorrow_Date;
double m_dFinanceBorrow_MoneyLeft;
CString m_sFinanceBorrow_Remark;
// CSMSApp 初始化
//Income 相关
int m_iFinanceIncome_Id;
CString m_sFinanceIncome_Source;
double m_dFinanceIncome_Amount;
CTime m_tFinanceIncome_Date;
CString m_sFinanceIncome_Flow;
CString m_sFinanceIncome_Remark;
//Outcome 相关
int m_iFinanceOutcome_Id;
CString m_sFinanceOutcome_Name;
CString m_sFinanceOutcome_Source;
CString m_sFinanceOutcome_Kind;
double m_dFinanceOutcome_Amount;
CTime m_tFinanceOutcome_Date;
CString m_sFinanceOutcome_Remark;
//Invest 相关
int m_iFinanceInvest_Id;
CString m_sFinanceInvest_Name;
CString m_sFinanceInvest_Kind;
int m_iFinanceInvest_Quantity;
double m_dFinanceInvest_Price;
CTime m_tFinanceInvest_StartDate;
CTime m_tFinanceInvest_EndDate;
CString m_sFinanceInvest_Remark;
//ConsumPlan相关
int m_iFinancePlan_Id;
CTime m_tFinancePlan_MakeDate;
CTime m_tFinancePlan_StartDate;
CTime m_tFinancePlan_EndDate;
CString m_sFinancePlan_Name;
double m_dFinancePlan_Amount;
CString m_sFinancePlan_Kind;
CString m_sFinancePlan_Finished;
CString m_sFinancePlan_Remark;
//Tangible 相关
int m_iFinanceTangible_Id;
CString m_sFinanceTangible_Name;
CString m_sFinanceTangible_Kind;
int m_iFinanceTangible_Quantity;
double m_dFinanceTangible_Price;
CTime m_tFinanceTangible_Date;
double m_dFinanceTangible_Sum;
CString m_sFinanceTangible_Remark;
//Remind相关
int m_iSetRemind_Id;
CString m_sSetRemind_Content;
CTime m_tSetRemind_StartDate;
CTime m_tSetRemind_EndDate;
long m_iSetRemind_Frequency;
bool m_bSetRemind_Finished;
CString m_sSetRemind_Kind;
CString m_sSetRemind_Remark;
///////系统主题相关的颜色配置
COLORREF m_RGB_BkColor;
COLORREF m_RGB_CtrlColor;
bool m_bColor; //是否采用系统主题的配置项,true为用默认的,false为用自定义的
int m_iSystemStyle;//系统主题
bool m_bSortUp; //点击列表标题的时候的排序规则,true,false动态互相转换
bool m_bAutoRun; //是否自动运行,主要用与传递设置和注册表的数据
int m_iRunBell; //启动的铃声
int m_iExitBell; //退出的铃声
int m_iTerm; //学期
bool m_bReboot; //标记是否因为系统主题改变而重起,默认为false
int m_iTipTime; //提醒频率,0为不提醒,最小为10
bool m_bWzOutcome;
BOOL CSMSApp::InitInstance()
{
// 如果一个运行在 Windows XP 上的应用程序清单指定要
// 使用 ComCtl32.dll 版本 6 或更高版本来启用可视化方式,
//则需要 InitCommonControlsEx()。否则,将无法创建窗口。
INITCOMMONCONTROLSEX InitCtrls;
InitCtrls.dwSize = sizeof(InitCtrls);
// 将它设置为包括所有要在应用程序中使用的
// 公共控件类。
InitCtrls.dwICC = ICC_WIN95_CLASSES;
InitCommonControlsEx(&InitCtrls);
CWinApp::InitInstance();
m_bSortUp=true;//默认升序
m_bReboot=false;//默认不是重起的
//连接数据库
CString sPath;
GetModuleFileName(NULL,sPath.GetBufferSetLength(MAX_PATH+1),MAX_PATH);
sPath.ReleaseBuffer ();
int nPos;
nPos=sPath.ReverseFind('\\');
sPath=sPath.Left (nPos);
CString lpszFile = sPath + L"\\SMS.mdb";
MakeAccessODBCDSN(L"SMS",lpszFile);
try
{
CString strConnect;
strConnect.Format(_T("DSN=SMS;"));
if(!m_db.OpenEx(strConnect,CDatabase::useCursorLib))
{
AfxMessageBox(L"连接数据库出错!");
return FALSE ;
}
}
catch(CDBException *pE)
{
pE->ReportError();
pE->Delete();
return FALSE;
}
AfxEnableControlContainer();
// 标准初始化
// 如果未使用这些功能并希望减小
// 最终可执行文件的大小,则应移除下列
// 不需要的特定初始化例程
// 更改用于存储设置的注册表项
// TODO: 应适当修改该字符串,
// 例如修改为公司或组织名
SetRegistryKey(_T("Student Management Software"));
CSMSDlg dlg;
m_pMainWnd = &dlg;
INT_PTR nResponse = dlg.DoModal();
if (nResponse == IDOK)
{
// TODO: 在此处放置处理何时用“确定”来关闭
// 对话框的代码
}
else if (nResponse == IDCANCEL)
{
// TODO: 在此放置处理何时用“取消”来关闭
// 对话框的代码
}
// 由于对话框已关闭,所以将返回 FALSE 以便退出应用程序,
// 而不是启动应用程序的消息泵。
return FALSE;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -