📄 kaomodify.~pas
字号:
procedure TForm25.B_delete_attendClick(Sender: TObject);
begin
T_attendance.Delete; //删除考勤记录表中的当前记录
end;
procedure TForm25.B_seek_ioClick(Sender: TObject); //用于激活检索条件
var
FilterStr:String; //用于保存过滤字符串
begin
With T_attendance do //默认前缀为考勤记录表
begin
Close; //关闭考勤记录表
FilterStr:=''; //初始化过滤字符串
if Seek_by_person.Checked then //判断是否根据教师号检索
FilterStr:='PERSON='''+Seek_person_id.Text+'''';
if Seek_by_time.Checked then //判断是否有时间范围
begin
if length(FilterStr)>0 then
FilterStr:=FilterStr+' AND ';
FilterStr:=FilterStr+'TIME>'+Seek_start_time.Text;
FilterStr:=FilterStr+' AND TIME<'+Seek_end_time.Text;
end;
if length(FilterStr)>0 then //判断是否有过滤条件
begin
Filter:=FilterStr;
Filtered:=True;
end
else
Filtered:=False; //取消过滤器
Open; //打开考勤记录表
end;
end;
procedure TForm25.i_overtime_person_idChange(Sender: TObject); //当输入教师号时,需要检索教师姓名
begin
T_person.Filter:='ID='''+i_overtime_person_id.Text+'''';
T_person.Filtered:=True;
T_person.Open;
if T_person.RecordCount=1 then //判断是否存在该教师
i_overtime_person_name.Text:=T_person['NAME'] //提取教师姓名
else
i_overtime_person_name.Text:='';
T_person.Close;
end;
procedure TForm25.B_overtime_addClick(Sender: TObject); //加班记录的添加操作
var
counter:integer;
overtime_date:TDate; //用于保存加班日期
begin
if length(i_overtime_person_name.Text)>0 then //判断教师号是否正确
begin
//记录编号
T_counter.Filter:='ID=''O'''; //设置过滤条件,提取计数值
T_counter.Filtered:=True;
T_counter.Open;
counter:=T_counter['COUNTER_VALUE'];
Inc(counter);
T_counter.Edit;
T_counter['COUNTER_VALUE']:=counter;
T_counter.Post;
T_counter.Close;
//添加记录
overtime_date:=StrToDateTime(i_overtime_date.Text); //转换加班时间数据类型
T_overtime.Filtered:=False; //取消过滤器
T_overtime.Open; //打开加班记录表
T_overtime.AppendRecord([counter,i_overtime_person_id.Text,i_overtime_hour.Value,overtime_date]); //追加记录
end;
end;
procedure TForm25.B_delete_overtimeClick(Sender: TObject);
begin
T_overtime.Delete;
end;
procedure TForm25.B_seek_overtimeClick(Sender: TObject);
var
FilterStr:String;
begin
With T_overtime do
begin
Close;
FilterStr:='';
if Seek_by_person.Checked then
FilterStr:='PERSON='''+Seek_person_id.Text+'''';
if Seek_by_time.Checked then
begin
if length(FilterStr)>0 then
FilterStr:=FilterStr+' AND ';
FilterStr:=FilterStr+'WORK_DATE>='+Seek_start_time.Text;
FilterStr:=FilterStr+' AND WORK_DATE<'+Seek_end_time.Text;
end;
if length(FilterStr)>0 then
begin
Filter:=FilterStr;
Filtered:=True;
end
else
Filtered:=False;
Open;
end;
end;
procedure TForm25.TabSheet3Show(Sender: TObject);
begin
i_leave_start_time.Text:=DateTimeToStr(now); //赋初值
i_leave_end_time.Text:=DateTimeToStr(now); //赋初值
T_leave.Open; //请假数据表打开
end;
procedure TForm25.TabSheet2Show(Sender: TObject);
begin
i_overtime_date.Text:=DateToStr(now); //赋初值
T_overtime.Open; //打开加班数据表
end;
procedure TForm25.i_leave_person_idChange(Sender: TObject);
begin
T_person.Filter:='ID='''+i_leave_person_id.Text+'''';
T_person.Filtered:=True;
T_person.Open;
if T_person.RecordCount=1 then
i_leave_person_name.Text:=T_person['NAME']
else
i_leave_person_name.Text:='';
T_person.Close;
end;
procedure TForm25.B_leave_addClick(Sender: TObject); //添加请假记录
var
counter:integer;
leave_start_time,leave_end_time:TDateTime; //用于保存时间的变量
begin
if length(i_leave_person_name.Text)>0 then //判断员工号是否正确
begin
//记录编号
T_counter.Filter:='ID=''L''';
T_counter.Filtered:=True;
T_counter.Open;
counter:=T_counter['COUNTER_VALUE'];
Inc(counter);
T_counter.Edit;
T_counter['COUNTER_VALUE']:=counter;
T_counter.Post;
T_counter.Close;
//添加记录
leave_start_time:=StrToDateTime(i_leave_start_time.Text);
leave_end_time:=StrToDateTime(i_leave_end_time.Text);
T_leave.Filtered:=False;
T_leave.Open;
T_leave.AppendRecord([counter,i_leave_person_id.Text,leave_start_time,leave_end_time,i_leave_reason.Text]); //添加记录到请假数据表内
end;
end;
procedure TForm25.B_delete_leaveClick(Sender: TObject);
begin
T_leave.Delete;
end;
procedure TForm25.B_seek_leaveClick(Sender: TObject);
var
FilterStr:String;
begin
With T_leave do
begin
Close;
FilterStr:='';
if Seek_by_person.Checked then //判断是否根据教师号进行检索
FilterStr:='PERSON='''+Seek_person_id.Text+'''';
if Seek_by_time.Checked then //判断是否有时间范围
begin
if length(FilterStr)>0 then //如果有教师号
FilterStr:=FilterStr+' AND ';
FilterStr:=FilterStr+'END_TIME>='+Seek_start_time.Text;
FilterStr:=FilterStr+' AND START_TIME<'+Seek_end_time.Text;
end;
if length(FilterStr)>0 then //如果存在这个教师号
begin
Filter:=FilterStr;
Filtered:=True;
end
else
Filtered:=False;
Open; //打开这个请假数据表
end;
end;
procedure TForm25.TabSheet4Show(Sender: TObject);
begin
i_errand_start_time.Text:=DateTimeToStr(now);
i_errand_end_time.Text:=DateTimeToStr(now);
T_errand.Open;
end;
procedure TForm25.i_errand_person_idChange(Sender: TObject);
begin
T_person.Filter:='ID='''+i_errand_person_id.Text+'''';
T_person.Filtered:=True;
T_person.Open;
if T_person.RecordCount=1 then
i_errand_person_name.Text:=T_person['NAME']
else
i_errand_person_name.Text:='';
T_person.Close;
end;
procedure TForm25.B_errand_addClick(Sender: TObject);
var
counter:integer;
errand_start_time,errand_end_time:TDateTime;
begin
if length(i_errand_person_name.Text)>0 then
begin
//记录编号
T_counter.Filter:='ID=''E''';
T_counter.Filtered:=True;
T_counter.Open;
counter:=T_counter['COUNTER_VALUE'];
Inc(counter);
T_counter.Edit;
T_counter['COUNTER_VALUE']:=counter;
T_counter.Post;
T_counter.Close;
//添加记录
errand_start_time:=StrToDateTime(i_errand_start_time.Text);
errand_end_time:=StrToDateTime(i_errand_end_time.Text);
T_errand.Filtered:=False;
T_errand.Open;
T_errand.AppendRecord([counter,i_errand_person_id.Text,errand_start_time,errand_end_time,i_errand_description.Text]);
end;
end;
procedure TForm25.B_delete_errandClick(Sender: TObject);
begin
T_errand.Delete;
end;
procedure TForm25.B_seek_errandClick(Sender: TObject);
var
FilterStr:String;
begin
With T_errand do
begin
Close;
FilterStr:='';
if Seek_by_person.Checked then
FilterStr:='PERSON='''+Seek_person_id.Text+'''';
if Seek_by_time.Checked then
begin
if length(FilterStr)>0 then
FilterStr:=FilterStr+' AND ';
FilterStr:=FilterStr+'END_TIME>='+Seek_start_time.Text;
FilterStr:=FilterStr+' AND START_TIME<'+Seek_end_time.Text;
end;
if length(FilterStr)>0 then
begin
Filter:=FilterStr;
Filtered:=True;
end
else
Filtered:=False;
Open;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -