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

📄 kaomodify.~pas

📁 学校管理系统,本管理系统与一般管理系统的区别就是:一般管理系统的后台数据库是用Access或sql server进行前台界面设计软件与后台数据库中的数据表的数据相连接。而此管理系统是用Delphi 6
💻 ~PAS
📖 第 1 页 / 共 2 页
字号:
unit kaomodify;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Mask, DB, DBTables, Buttons, ComCtrls, Grids, DBGrids,
  ExtCtrls, Gauges, Spin;

type
  TForm25 = class(TForm)
    GroupBox1: TGroupBox;
    seek_by_time: TCheckBox;
    Label1: TLabel;
    seek_start_time: TMaskEdit;
    seek_by_person: TCheckBox;
    Label2: TLabel;
    seek_end_time: TMaskEdit;
    Label3: TLabel;
    seek_person_id: TMaskEdit;
    Label4: TLabel;
    seek_person_name: TEdit;
    T_person: TTable;
    DS_person: TDataSource;
    PageControl1: TPageControl;
    SpeedButton1: TSpeedButton;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    TabSheet3: TTabSheet;
    TabSheet4: TTabSheet;
    GroupBox2: TGroupBox;
    Label5: TLabel;
    Label6: TLabel;
    DBGrid1: TDBGrid;
    B_delete_attend: TButton;
    B_seek_io: TButton;
    i_io_time: TMaskEdit;
    i_in_out: TRadioGroup;
    B_add_all: TButton;
    B_add_depart: TButton;
    B_add_person: TButton;
    Label8: TLabel;
    i_io_person_id: TMaskEdit;
    Label9: TLabel;
    i_io_person_name: TEdit;
    Gauge1: TGauge;
    T_depart: TTable;
    DS_depart: TDataSource;
    T_counter: TTable;
    T_attendance: TTable;
    DS_attendance: TDataSource;
    GroupBox3: TGroupBox;
    Label10: TLabel;
    i_overtime_date: TMaskEdit;
    Label11: TLabel;
    i_overtime_hour: TSpinEdit;
    Label12: TLabel;
    Label13: TLabel;
    i_overtime_person_id: TMaskEdit;
    Label14: TLabel;
    i_overtime_person_name: TEdit;
    Label15: TLabel;
    B_overtime_add: TButton;
    B_delete_overtime: TButton;
    B_seek_overtime: TButton;
    T_overtime: TTable;
    DS_overtime: TDataSource;
    DBGrid2: TDBGrid;
    GroupBox4: TGroupBox;
    Label16: TLabel;
    Label17: TLabel;
    i_leave_start_time: TMaskEdit;
    i_leave_end_time: TMaskEdit;
    Label18: TLabel;
    i_leave_person_id: TMaskEdit;
    i_leave_person_name: TEdit;
    Label19: TLabel;
    i_leave_reason: TMemo;
    B_leave_add: TButton;
    Label20: TLabel;
    DBGrid3: TDBGrid;
    T_leave: TTable;
    DS_leave: TDataSource;
    B_delete_leave: TButton;
    B_seek_leave: TButton;
    GroupBox5: TGroupBox;
    Label7: TLabel;
    Label21: TLabel;
    i_errand_start_time: TMaskEdit;
    Label22: TLabel;
    Label23: TLabel;
    i_errand_end_time: TMaskEdit;
    i_errand_person_id: TMaskEdit;
    i_errand_person_name: TEdit;
    Label24: TLabel;
    i_errand_description: TMemo;
    B_errand_add: TButton;
    Label25: TLabel;
    DBGrid4: TDBGrid;
    B_delete_errand: TButton;
    B_seek_errand: TButton;
    T_errand: TTable;
    DS_errand: TDataSource;
    procedure FormCreate(Sender: TObject);
    procedure seek_person_idChange(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure TabSheet1Show(Sender: TObject);
    procedure i_io_person_idChange(Sender: TObject);
    procedure io_add(Person_id:String);
    procedure B_add_personClick(Sender: TObject);
    procedure B_add_departClick(Sender: TObject);
    procedure B_add_allClick(Sender: TObject);
    procedure B_delete_attendClick(Sender: TObject);
    procedure B_seek_ioClick(Sender: TObject);
    procedure i_overtime_person_idChange(Sender: TObject);
    procedure B_overtime_addClick(Sender: TObject);
    procedure B_delete_overtimeClick(Sender: TObject);
    procedure B_seek_overtimeClick(Sender: TObject);
    procedure TabSheet3Show(Sender: TObject);
    procedure TabSheet2Show(Sender: TObject);
    procedure i_leave_person_idChange(Sender: TObject);
    procedure B_leave_addClick(Sender: TObject);
    procedure B_delete_leaveClick(Sender: TObject);
    procedure B_seek_leaveClick(Sender: TObject);
    procedure TabSheet4Show(Sender: TObject);
    procedure i_errand_person_idChange(Sender: TObject);
    procedure B_errand_addClick(Sender: TObject);
    procedure B_delete_errandClick(Sender: TObject);
    procedure B_seek_errandClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form25: TForm25;

implementation

uses kaoqi;

{$R *.dfm}

procedure TForm25.FormCreate(Sender: TObject);
begin
   Seek_start_time.Text:=DateToStr(now-30);//设置开始时间为前一个月
   Seek_end_time.Text:=DateToStr(now); //设置结束时间为当前时间
end;

procedure TForm25.seek_person_idChange(Sender: TObject);
begin
    T_person.Filter:='ID='''+Seek_person_id.Text+'''';    //设置过滤条件,提取教师信息
    T_person.Filtered:=True;    //激活过滤器
    T_person.Open;       //打开教师信息表
    if T_person.RecordCount=1 then      //判断教师记录是否存在
      Seek_person_name.Text:=T_person['NAME']    //显示教师姓名
    else
      Seek_person_name.Text:='';    //如果不存在,清除教师姓名的显示
      T_person.Close;      //关闭教师信息表
end;

procedure TForm25.SpeedButton1Click(Sender: TObject);
begin
     form25.Hide;   //关闭当前界面
     form22.show;   //显示考勤子系统界面
   
end;

procedure TForm25.TabSheet1Show(Sender: TObject);
begin
    i_io_time.Text:=DateTimeToStr(now);   //界面初始化时,设置出入时间为当前时间
    T_attendance.Open;  //打开考勤记录表
end;

procedure TForm25.i_io_person_idChange(Sender: TObject);    //输入教师号时,检索相应的信息
begin
    T_person.Filter:='ID='''+i_io_person_id.Text+''''; //输入教师号时,设置教师过滤条件
    T_person.Filtered:=True;    //激活过滤器
    T_person.Open;       //打开教师信息表
    if T_person.RecordCount=1 then     //如果教师存在
    begin
      i_io_person_name.Text:=T_person['NAME'];  //提取教师姓名,赋给i_io_person_name.text
    end
    else
      i_io_person_name.Text:='';       //否则,清空教师姓名显示
      T_person.Close;    //关闭教师信息表
end;


procedure TForm25.io_add(Person_id:String);    //添加出勤记录子程序
var
  counter:Integer;    //变量申明,用于计数的变量
  in_out:String;      //变量申明,用于保存出入情况
  io_time:TDateTime;  //变量申明,用于保存出入时间
begin
     //记录编号
    T_counter.Filter:='ID=''T''';   //设置过滤器,提取计数值
    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;  //关闭计数器表
    //添加记录
    if i_in_out.ItemIndex=0 then    //判断确定出入情况
      in_out:='O'           //出的赋值
    else
      in_out:='I';          //入的赋值
    io_time:=StrToDateTime(i_io_time.Text);   //转换出入时间数据类型
    T_attendance.Filtered:=False;      //取消过滤器
    T_attendance.Open;                 //打开考勤记录表
    T_attendance.AppendRecord([counter,Person_id,in_out,io_time]);  //追加考勤记录
end;

procedure TForm25.B_add_personClick(Sender: TObject);    //追加单个教师考勤记录
begin
     if length(i_io_person_name.Text)>0 then   //判断教师是否存在
  begin
       io_add(i_io_person_id.Text);  //追加单个教师记录
  end;
end;

procedure TForm25.B_add_departClick(Sender: TObject);     //追加系别教师考勤记录
var
  i,n:integer;                 //用于保存记录条数的变量
begin
      T_person.Filter:='DEPARTMENT='''+''' AND STATE=''T''';  //设置过滤条件
      T_person.Filtered:=True;  //激活过滤器
      T_person.Open;  //打开教师信息表
      n:=T_person.RecordCount;    //获取教师人数
      i:=0;    //初始化已添加记录条数
      Gauge1.Progress:=0;   //初始化进度表
      T_person.First;    //跳到第一条记录
      while not T_person.Eof do    //如果不是教师信息表的末尾就对数据表中的所有记录进行处理
      begin
        io_add(T_person['ID']);   //添加当前教师出勤记录
        T_person.Next;        //跳到下一个教师记录
        Inc(i);    //已添加记录条数加1
        Gauge1.Progress:=(100*i) div n;   //显示进度
      end;
      T_person.Close; //处理完后关闭教师信息表
    
end;

procedure TForm25.B_add_allClick(Sender: TObject); //添加所有教师出勤记录
var
  i,n:integer;
begin
    T_person.Filter:='STATE=''T''';   //设置过滤条件,提取教师信息
    T_person.filtered:=True;   //激活过滤器
    T_person.Open;     //打开教师信息表
    n:=T_person.RecordCount;  //提取教师人数
    i:=0;    //初始化已添加记录条数
    Gauge1.Progress:=0;   //初始化进度条
    T_person.First;     //教师表的第一个记录
    while not T_person.Eof do    //如果不是到教师信息表的末尾,就进行下列的操作
    begin
      io_add(T_person['ID']);    //添加当前员工考勤记录
      T_person.Next;      //跳到下一个员工记录
      Inc(i);       //已添加记录条数加1
      Gauge1.Progress:=(100*i) div n;    //显示进度
    end;
    T_person.Close;     //关闭员工信息表
  end;


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -