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

📄 main.~cpp

📁 考勤工资管理系统
💻 ~CPP
📖 第 1 页 / 共 2 页
字号:

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 + -