📄 main.cpp
字号:
void __fastcall TF_Main::M_EvectionClick(TObject *Sender)
{ /*****出差管理菜单项单击事件*****/
if(CreateForm(F_Work) == false) //CreateForm调用判断考勤管理窗体是否存在函数
F_Work = new TF_Work(Application); //动态创建考勤管理窗体
F_Work->PageControl1->ActivePage = F_Work->PageControl1->Pages[2]; //设定ActivePage为出差管理属性页
}
//---------------------------------------------------------------------------
void __fastcall TF_Main::M_LeaveClick(TObject *Sender)
{ /*****请假管理菜单项单击事件*****/
if(CreateForm(F_Work) == false) //CreateForm调用判断考勤管理窗体是否存在函数
F_Work = new TF_Work(Application); //动态创建考勤管理窗体
F_Work->PageControl1->ActivePage = F_Work->PageControl1->Pages[3]; //设定ActivePage为请假管理属性页
}
//---------------------------------------------------------------------------
void __fastcall TF_Main::M_SCalculateClick(TObject *Sender)
{ /*****工资结算管理菜单项单击事件*****/
if(CreateForm(F_Salary) == false) //CreateForm调用判断工资管理窗体是否存在函数
F_Salary = new TF_Salary(Application); //动态创建工资管理窗体
F_Salary->PageControl1->ActivePage = F_Salary->PageControl1->Pages[0]; //设定ActivePage为工资结算管理属性页
}
//---------------------------------------------------------------------------
void __fastcall TF_Main::M_OCalculateClick(TObject *Sender)
{ /*****奖金津贴扣发管理菜单项单击事件*****/
if(CreateForm(F_Salary) == false) //CreateForm调用判断工资管理窗体是否存在函数
F_Salary = new TF_Salary(Application); //动态创建工资管理窗体
F_Salary->PageControl1->ActivePage = F_Salary->PageControl1->Pages[1]; //设定ActivePage为奖金津贴扣发管理属性页
}
//---------------------------------------------------------------------------
void __fastcall TF_Main::M_MustWorkClick(TObject *Sender)
{ /*****应到考勤日设置菜单项单击事件*****/
if(CreateForm(F_Set) == false) //CreateForm调用判断考勤工资参数设置窗体是否存在函数
F_Set = new TF_Set(Application); //动态创建考勤工资参数设置窗体
F_Set->PageControl1->ActivePage = F_Set->PageControl1->Pages[0]; //设定ActivePage为应到考勤日设置属性页
}
//---------------------------------------------------------------------------
void __fastcall TF_Main::M_SalaryParamClick(TObject *Sender)
{ /*****工资计算参数设置菜单项单击事件*****/
if(CreateForm(F_Set) == false) //CreateForm调用判断考勤工资参数设置窗体是否存在函数
F_Set = new TF_Set(Application); //动态创建考勤工资参数设置窗体
F_Set->PageControl1->ActivePage = F_Set->PageControl1->Pages[1]; //设定ActivePage为工资计算参数设置属性页
}
//---------------------------------------------------------------------------
void __fastcall TF_Main::M_BackColorClick(TObject *Sender)
{ /*****主窗体背景色设置菜单项单击事件*****/
if (ColorDialog1->Execute()){ //打开颜色选择框,并且选择了一个种颜色
F_Main->Color = ColorDialog1->Color; //改变主窗体背景颜色
F_Main->Paint(); //强制重画主窗体
TIniFile *ini; //申请一个TIniFile类对象
//打开考勤工资管理系统Config.INI配置文件,如果不存在则创建
ini = new TIniFile(ExtractFilePath(ParamStr(0))+"Config.INI"); //ExtractFilePath(ParamStr(0))取得当前工作路径
ini->WriteInteger("Form","Color",ColorDialog1->Color); //将用户选择的颜色写入配置文件
delete ini; //释放ini对象
}
}
//---------------------------------------------------------------------------
void __fastcall TF_Main::M_BackPicClick(TObject *Sender)
{ /*****主窗体背景图设置菜单项单击事件*****/
if (OpenPictureDialog1->Execute()){ //打开图片选择对话框,并且选择了一个图片文件
Image1->Picture->LoadFromFile(OpenPictureDialog1->FileName); //更换主窗体背景图片
F_Main->Paint(); //强制重画主窗体
TIniFile *ini; //申请一个TIniFile类对象
//打开考勤工资管理系统Config.INI配置文件,如果不存在则创建
ini = new TIniFile(ExtractFilePath(ParamStr(0))+"Config.INI"); //ExtractFilePath(ParamStr(0))取得当前工作路径
ini->WriteString("Form","Picture",OpenPictureDialog1->FileName); //将用户选择的图片文件名写入配置文件
delete ini; //释放ini对象
}
}
//---------------------------------------------------------------------------
void __fastcall TF_Main::M_DBCaseClick(TObject *Sender)
{ /*****公文包模式菜单项单击事件*****/
if(M_DBCase->Checked){ //是否Check判断
TB_DBCase->Down = false;//公文包快捷按钮Down属性为false
TB_DBCaseClick(this); //引用公文包快捷按钮单击事件
}
else{
TB_DBCase->Down = true; //公文包快捷按钮Down属性为true
TB_DBCaseClick(this); //引用公文包快捷按钮单击事件
}
}
//---------------------------------------------------------------------------
void __fastcall TF_Main::M_BackupClick(TObject *Sender)
{ /*****数据库备份菜单项单击事件*****/
if(SaveDialog1->Execute()){ //用户打开数据库备份对话框后选择了保存按钮
if (FileExists(SaveDialog1->FileName)){
AnsiString str;
str = SaveDialog1->FileName+"文件已经存在,要替换它吗?";
int i;
i = MessageBox(NULL,str.c_str(),"另存为",MB_OKCANCEL);
if(i == mrOk){ //用户确定了替换操作
BackupDatabase(SaveDialog1->FileName); //BackupDatabase是用户自定义备份数据库函数
return;
}
else //用户取消了替换操作
return;
}
BackupDatabase(SaveDialog1->FileName); //BackupDatabase是用户自定义备份数据库函数
}
}
//---------------------------------------------------------------------------
void __fastcall TF_Main::M_RestoreClick(TObject *Sender)
{ /*****数据库还原菜单项单击事件*****/
if(OpenDialog1->Execute()) //用户打开数据库还原对话框后选择了打开按钮
RestoreDatabase(OpenDialog1->FileName); //RestoreDatabase是用户自定义还原数据库函数
}
//---------------------------------------------------------------------------
void __fastcall TF_Main::M_ConfigClick(TObject *Sender)
{ /*****数据库配置菜单项单击事件*****/
F_Config = new TF_Config(Application); //动态创建数据库服务器配置窗体
F_Config->ShowModal(); //显示数据库服务器配置窗口
delete F_Config; //释放F_Config对象
}
//---------------------------------------------------------------------------
void __fastcall TF_Main::TB_DBCaseClick(TObject *Sender)
{ /*****公文包快捷按钮单击事件*****/
if(TB_DBCase->Down){ //公文包模式工作,数据记录会在退出程序时暂存在文件中
M_DBCase->Checked = true; //公文包模式菜单项有Check
AnsiString Dir = ExtractFilePath(ParamStr(0)); //取得应用程序所在路径
if(FileExists(Dir+"Atten.ADTG")&&FileExists(Dir+"ATEmp.ADTG")&&FileExists(Dir+"AQEmp.ADTG")&&FileExists(Dir+"Count.ADTG")){
DM->AQ_Atten->LoadFromFile(Dir+"Atten.ADTG"); //从文件中载入出勤信息表数据
DM->AT_Employee->LoadFromFile(Dir+"ATEmp.ADTG"); //从文件中载入员工信息表数据
DM->AQ_Employee->LoadFromFile(Dir+"AQEmp.ADTG"); //从文件中载入员工信息表数据
DM->AT_Count->LoadFromFile(Dir+"Count.ADTG"); //从文件中载入记录编号信息表数据
}
StatusBar1->Panels->Items[3]->Text = "目前使用了公文包模式工作,请在数据库连接正常时更新公文包中数据"; //给第三个状态栏赋值
}
else{
DM->DataModuleCreate(this); //引用数据模块创建事件,尝试与数据库连接
M_DBCase->Checked = false; //公文包模式菜单项没有Check
}
}
//---------------------------------------------------------------------------
void __fastcall TF_Main::TB_DBUpdateClick(TObject *Sender)
{ /*****更新公文包中数据快捷按钮单击事件*****/
UpdateData(); //用户自定义升级公文包数据记录
}
//---------------------------------------------------------------------------
void __fastcall TF_Main::FormCloseQuery(TObject *Sender, bool &CanClose)
{ /*****考勤工资管理系统主窗体关闭事件*****/
if(DM->ADOConnection->Connected) //是否与数据库连接判断函数
SaveData(); //调用用户自定义存储数据记录到公文包函数
}
//---------------------------------------------------------------------------
void __fastcall TF_Main::UpdateData()
{ /*****用户自定义更新公文包中数据到数据库函数*****/
DM->AQ_Atten->UpdateBatch(arAll); //更新出勤管理信息表数据
DM->AT_Count->UpdateBatch(arAll); //更新记录编号信息表数据
}
//---------------------------------------------------------------------------
void __fastcall TF_Main::SaveData()
{ /*****用户自定义存储数据记录到公文包函数*****/
if(DM->AQ_Atten->Active&&DM->AT_Employee->Active&&DM->AQ_Employee->Active){
AnsiString Dir = ExtractFilePath(ParamStr(0)); //取得应用程序所在路径
DM->AQ_Atten->SaveToFile(Dir+"Atten.ADTG",pfADTG); //存储出勤管理信息表到公文包
DM->AT_Employee->SaveToFile(Dir+"ATTemp.ADTG",pfADTG); //存储员工信息表到公文包
DM->AQ_Employee->SaveToFile(Dir+"AQTemp.ADTG",pfADTG); //存储员工信息表到公文包
DM->AT_Count->SaveToFile(Dir+"Count",pfADTG); //存储记录编号信息表到公文包
}
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -