📄 wsalary_set.~cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "WSalary_Set.h" //考勤工资参数设置窗体头文件
#include "DataModule.h" //数据模块窗体头文件
#include "Archives_Query.h" //数据记录查询窗体头文件
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "Inherit"
#pragma link "CSPIN"
#pragma resource "*.dfm"
TF_Set *F_Set;
//---------------------------------------------------------------------------
__fastcall TF_Set::TF_Set(TComponent* Owner)
: TF_Inherit(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TF_Set::CheckBox1Click(TObject *Sender)
{ /*****提取星期六星期天复选框单击事件*****/
if(CheckBox1->Checked){
int Record;
TDateTime *Date = new TDateTime();
*Date = StrToDate(MaskEdit1->Text+"-01"); //赋用户填写月份的第一天
DM->AT_Count->Filter = "Count_Name='Set'"; //设置过滤器,提取应考勤日期信息表计数值
DM->AT_Count->Filtered = true; //开启过滤器
DM->AT_Count->Open(); //打开记录号计数器表
Record = DM->AT_CountCount_Value->Value; //提取计数值
for(int i=0;i<31;i++){
if(Date->DayOfWeek()==1||Date->DayOfWeek()==7){ //判断是否为星期六或星期天
Record+=1;
DM->AQ_WSet->Append(); //在应考勤日期信息表中追加一条记录
DM->AQ_WSetWSet_ID->Value = Record; //记录编号赋值
DM->AQ_WSetWSet_Date->Value = *Date; //应考勤日期赋值
DM->AQ_WSet->Post(); //提交数据值
}
Date->operator +=(1); //日期增加一天
}
DM->AT_Count->Edit(); //编辑记录号计数数据表
DM->AT_CountCount_Value->Value = Record; //记录编号赋值
DM->AT_Count->Post(); //提交编辑数据
DM->AT_Count->Close(); //关闭记录号计数数据表
}
}
//---------------------------------------------------------------------------
void __fastcall TF_Set::BitBtn1Click(TObject *Sender)
{ /*****考勤参数修改按钮单击事件*****/
TIniFile *ini; //申请一个TIniFile类对象
//打开考勤工资管理系统Config.INI配置文件,如果不存在则创建
ini = new TIniFile(ExtractFilePath(ParamStr(0))+"Config.INI"); //ExtractFilePath(ParamStr(0))取得当前工作路径
ini->WriteString("WorkTime","Time1",MaskEdit2->Text); //写入上午上班时间
ini->WriteString("WorkTime","Time2",MaskEdit3->Text); //写入上午下班时间
ini->WriteString("WorkTime","Time3",MaskEdit4->Text); //写入下午上班时间
ini->WriteString("WorkTime","Time4",MaskEdit5->Text); //写入下午下班时间
delete ini; //释放ini对象
}
//---------------------------------------------------------------------------
void __fastcall TF_Set::BitBtn2Click(TObject *Sender)
{ /*****考勤参数恢复默认值按钮单击事件*****/
MaskEdit2->Text = "08:00:00"; //恢复默认上午上班时间
MaskEdit3->Text = "11:30:00"; //恢复默认上午下班时间
MaskEdit4->Text = "13:30:00"; //恢复默认下午上班时间
MaskEdit5->Text = "17:00:00"; //恢复默认下午下班时间
}
//---------------------------------------------------------------------------
void __fastcall TF_Set::FormShow(TObject *Sender)
{ /*****考勤工资参数设置窗体创建事件*****/
MaskEdit1->Text = FormatDateTime("yyyy-mm",Now()); //取得当前年月
TIniFile *ini; //申请一个TIniFile类对象
//打开考勤工资管理系统Config.INI配置文件,如果不存在则创建
ini = new TIniFile(ExtractFilePath(ParamStr(0))+"Config.INI"); //ExtractFilePath(ParamStr(0))取得当前工作路径
MaskEdit2->Text = ini->ReadString("WorkTime","Time1","08:00:00"); //读取上午上班时间,如果不存则赋第三项默认值
MaskEdit3->Text = ini->ReadString("WorkTime","Time2","11:30:00"); //读取上午下班时间
MaskEdit4->Text = ini->ReadString("WorkTime","Time3","13:30:00"); //读取下午上班时间
MaskEdit5->Text = ini->ReadString("WorkTime","Time4","17:00:00"); //读取下午下班时间
CSpinEdit1->Text = ini->ReadInteger("SalaryParam","Salary1",10); //读取基本工资单价
CSpinEdit6->Text = ini->ReadInteger("SalaryParam","Salary2",20); //读取加班工资单价
CSpinEdit2->Text = ini->ReadInteger("SalaryParam","Salary3",100); //读取出差工资单价
CSpinEdit3->Text = ini->ReadInteger("SalaryParam","Salary4",50); //读取迟到早退扣发单价
CSpinEdit4->Text = ini->ReadInteger("SalaryParam","Salary5",100); //读取旷工扣发单价
delete ini; //释放ini对象
}
//---------------------------------------------------------------------------
void __fastcall TF_Set::BitBtn3Click(TObject *Sender)
{ /*****工资参数修改按钮单击事件*****/
TIniFile *ini; //申请一个TIniFile类对象
ini = new TIniFile(ExtractFilePath(ParamStr(0))+"Config.INI"); //ExtractFilePath(ParamStr(0))取得当前工作路径
ini->WriteInteger("SalaryParam","Salary1",CSpinEdit1->Text.ToInt()); //写入基本工资单价
ini->WriteInteger("SalaryParam","Salary2",CSpinEdit6->Text.ToInt()); //写入加班工资单价
ini->WriteInteger("SalaryParam","Salary3",CSpinEdit2->Text.ToInt()); //写入出差工资单价
ini->WriteInteger("SalaryParam","Salary4",CSpinEdit3->Text.ToInt()); //写入迟到早退扣发单价
ini->WriteInteger("SalaryParam","Salary5",CSpinEdit4->Text.ToInt()); //写入旷工扣发单价
delete ini; //释放ini对象
}
//---------------------------------------------------------------------------
void __fastcall TF_Set::BitBtn4Click(TObject *Sender)
{ /*****工资参数恢复默认值按钮单击事件*****/
CSpinEdit1->Text = "10"; //恢复默认正常工资单价
CSpinEdit6->Text = "20"; //恢复默认加班工资单价
CSpinEdit2->Text = "100"; //恢复默认出差工资单价
CSpinEdit3->Text = "50"; //恢复默认迟到早退扣发单价
CSpinEdit4->Text = "100"; //恢复默认旷工扣发单价
}
//---------------------------------------------------------------------------
void __fastcall TF_Set::ToolButton1Click(TObject *Sender)
{ /*****增加工具条快捷按钮单击事件*****/
int Record;
DM->AT_Count->Filter = "Count_Name='Set'"; //设置过滤器,提取正常休息日子信息表计数值
DM->AT_Count->Filtered = true; //开启过滤器
DM->AT_Count->Open(); //打开记录编号计数表
Record = DM->AT_CountCount_Value->Value; //提取计数值
DM->AQ_WSet->AppendRecord(ARRAYOFCONST((Record+1,DateToStr(DateTimePicker1->Date)))); //增加一条正常休息日子记录
DM->AT_Count->Edit(); //编辑记录号计数数据表
DM->AT_CountCount_Value->Value = Record+1; //记录号加1再赋值
DM->AT_Count->Post(); //提交编辑数据
DM->AT_Count->Close(); //关闭记录号计数数据表
}
//---------------------------------------------------------------------------
void __fastcall TF_Set::ToolButton2Click(TObject *Sender)
{ /*****编辑工具条快捷按钮单击事件*****/
DM->AQ_WSet->Edit(); //编辑正常休息日子记录
}
//---------------------------------------------------------------------------
void __fastcall TF_Set::ToolButton3Click(TObject *Sender)
{ /*****删除工具条快捷按钮单击事件*****/
DM->AQ_WSet->Delete(); //删除一条正常休息日子记录
}
//---------------------------------------------------------------------------
void __fastcall TF_Set::ToolButton4Click(TObject *Sender)
{ /*****提交工具条快捷按钮单击事件*****/
DM->AQ_WSet->Post(); //提交正常休息日子记录的操作
}
//---------------------------------------------------------------------------
void __fastcall TF_Set::ToolButton6Click(TObject *Sender)
{ /*****取消工具条快捷按钮单击事件*****/
DM->AQ_WSet->Cancel(); //取消正常休息日子记录的操作
}
//---------------------------------------------------------------------------
void __fastcall TF_Set::ToolButton10Click(TObject *Sender)
{ /*****查找工具条快捷按钮单击事件*****/
TStringList *str1 = new TStringList();
TStringList *str2 = new TStringList();
F_Query->Q_Table = "WSalary_WSet"; //赋查找表名
str1->Add("日期"); //添加正常休息日期查找字段
str2->Add("WSet_Date"); //添加正常休息日期在数据表中的字段名
F_Query->T_Field[0] = 2; //添加正常休息日期字段类型代号,为日期类型
F_Query->S_Field = str1; //查询窗体上S_Field公有变量赋值
F_Query->N_Field = str2; //查询窗体上N_Field公有变量赋值
F_Query->CBE_Field->Text="日期"; //查找字段赋值
F_Query->Query = DM->AQ_WSet;//设定查找数据集为应到考勤日信息表
F_Query->ShowModal(); //打开数据记录查询窗口
delete str1,str2; //释放str1,str2对象
}
//---------------------------------------------------------------------------
void __fastcall TF_Set::ToolButton12Click(TObject *Sender)
{ /*****关闭工具条快捷按钮单击事件*****/
F_Set->Close(); //关闭考勤工资参数设置管理窗口
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -