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

📄 kaomodify.~pas

📁 能够实现学生信息管理子系统的大部分管理功能(增加新生;学生的转学、复学、休学;奖励情况;处罚情况;学生个人信息查询修改);能够实现教务管理子系统的大部分管理功能(本子系统通过密码确认后
💻 ~PAS
📖 第 1 页 / 共 2 页
字号:
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 + -