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

📄 change.~pas

📁 能够实现学生信息管理子系统的大部分管理功能(增加新生;学生的转学、复学、休学;奖励情况;处罚情况;学生个人信息查询修改);能够实现教务管理子系统的大部分管理功能(本子系统通过密码确认后
💻 ~PAS
字号:
unit change;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Mask, ExtCtrls, DB, DBTables, DBCtrls;

type
  TForm18 = class(TForm)
    Label1: TLabel;
    i_id: TEdit;
    i_change: TRadioGroup;
    Label2: TLabel;
    i_time: TMaskEdit;
    GroupBox1: TGroupBox;
    Label3: TLabel;
    Label5: TLabel;
    i_name: TDBEdit;
    i_job: TDBLookupComboBox;
    T_department: TTable;
    DS_department: TDataSource;
    T_job: TTable;
    DS_job: TDataSource;
    Label6: TLabel;
    i_description: TMemo;
    Button1: TButton;
    T_counter: TTable;
    T_change: TTable;
    DS_change_list: TDataSource;
    T_change_list: TTable;
    T_user: TTable;
    DS_user: TDataSource;
    procedure i_idChange(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
    procedure ChangeInit;
  public
    { Public declarations }
  end;

var
  Form18: TForm18;

implementation

{$R *.dfm}

procedure TForm18.ChangeInit;   //输入表单初始子程序
begin
  i_id.Text:='';          //清空教师号输入框
  i_change.ItemIndex:=0;  //默认变动情况为职务变更
  i_time.Text:=DateToStr(Now); // 加入当前时间
  i_description.Clear;   //描述框清空
end;

procedure TForm18.i_idChange(Sender: TObject);   //当在i_id输入时,下列程序检索教师信息
begin
    T_user.Filter:='ID='''+i_id.Text+''''; //设置过滤器,提取教师信息
    T_user.Filtered:=True;     //激活过滤器
    T_user.Open;  //打开教师信息表
end;

procedure TForm18.FormCreate(Sender: TObject);
begin
    if not T_department.Active then T_department.Open;     //如果系别表没有激活则打开系别表
    if not T_job.Active then T_job.Open;     //如果工作表没有激活则打开工作表
    ChangeInit;  //调用输入表单初始子程序
end;

procedure TForm18.Button1Click(Sender: TObject);
var
  counter:integer;
begin
  if T_user.RecordCount=1 then     //判断是否存在该教师
    begin
      //获取人事变动记录号
      T_counter.Filter:='ID=''B''';     //设置过滤器,获取计数器值
      T_counter.Filtered:=True; //激活过滤器
      T_counter.Open;  //打开计数表
      counter:=T_counter['COUNTER_VALUE'];  //获取计数值
      Inc(counter);    //增加1
      T_counter.Edit; //修改计数器
      T_counter['COUNTER_VALUE']:=counter;    //记录新的计数值
      T_counter.Post;     //提交修改
      T_counter.Close;    //关闭计数表
      //追加人事变动记录
      T_user.Edit;
      if i_change.ItemIndex=1 then    //如果教师辞职退休
        T_user['STATE']:='F';      //取消教师帐号
      T_user.Post;      //提交修改
      T_change.Open;         //打开人事变更数据表
      T_change.Append;                           //追加记录
      T_change['ID']:=counter;  //保存记录编号
      T_change['PERSON']:=i_id.Text;    //保存教师号
      T_change['CHANGE1']:=IntToStr(i_change.ItemIndex); //保存变更代码
      T_change['RECORD_TIME']:=StrToDate(i_time.Text);     //保存变更时间
      T_change['DESCRIPTION']:=i_description.Text; //保存描述
      T_change.Post;     //提交描述
      T_change.Close;   //关闭人事变更数据表
      ChangeInit;        //调用初始化表单
    end
    else
      Application.MessageBox('请确认教师号!','输入错误',MB_OK);       //若不存在该教师号码则出现出错信息框
end;

end.

⌨️ 快捷键说明

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