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

📄 departmentmain.pas

📁 档案信息管理系统
💻 PAS
字号:
//管理部门数据库主窗体
unit DepartmentMain;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, Grids, DBGrids, ExtCtrls;

type
  TDepMainForm = class(TForm)
    Splitter1: TSplitter;
    GroupBox1: TGroupBox;
    DepDBGrid: TDBGrid;
    GroupBox2: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    edDepName: TEdit;
    edDepLeader: TEdit;
    btNewDep: TBitBtn;
    btModifyDep: TBitBtn;
    btDelDep: TBitBtn;
    btResetDep: TBitBtn;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure btNewDepClick(Sender: TObject);
    procedure btModifyDepClick(Sender: TObject);
    procedure btDelDepClick(Sender: TObject);
    procedure btResetDepClick(Sender: TObject);
    procedure DepDBGridCellClick(Column: TColumn);
    procedure FormShow(Sender: TObject);
    procedure FormActivate(Sender: TObject);
  private
public
    procedure SetControlEnable(const nDep, mDep, dDep, rDep: Boolean);
  end;
var
  DepMainForm: TDepMainForm;
implementation
uses ArchDataModule,ArchDataClass,MainForm;
{$R *.dfm}

procedure TDepMainForm.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
     DepMainForm.Release;
     ArchMainForm.depDataMenu.Enabled :=true;
end;

//新建部门数据库
procedure TDepMainForm.btNewDepClick(Sender: TObject);
var
    depInput: DepartmentInfo;
    DepManager: DepDBManager;
  begin
        depInput :=DepartmentInfo.Create;
        DepManager :=DepDBManager.Create;
        DepInput.SetDepartmentInfo;
        if depInput.ValidCheck then
        begin
           if DepManager.IsExist(DepInput.DepartName)<>0 then
                 Application.MessageBox('该部门名已存在,请重新输入','重复的部门名',MB_OK)
           else
               if Application.MessageBox('确认要添加该记录吗','确认操作',MB_OKCANCEL)=1 then
                    DepManager.AddNewDep(DepInput)
        end
        else
            Application.MessageBox('上述信息不能为空,请重新输入','输入错误',MB_OK);
        DepInput.ZeroDepInput;
        edDepName.SetFocus;
        DepInput.Free;
        DepManager.Free;
        MainDataModule.DepTable.First;
end;

//修改指定部门的信息
procedure TDepMainForm.btModifyDepClick(Sender: TObject);
 var
    DepInput: DepartmentInfo;
    DepManager: DepDBManager;
  begin
      DepInput :=DepartmentInfo.Create;
      DepManager :=DepDBManager.Create;
      DepInput.SetDepartmentInfo;

      if DepInput.ValidCheck then
      begin
        if DepManager.IsExist(DepInput.DepartName)=2 then
           Application.MessageBox('部门名重复,请重新输入','重复的部门名',MB_OK)
        else
           if Application.MessageBox('确认修改当前记录吗','确认操作',MB_OKCANCEL)=1 then
                  DepManager.ModifyDepInfo(DepInput)
      end
      else
      Application.MessageBox('上述信息不能为空,请重新输入','输入错误',MB_OK);
      DepInput.ZeroDepInput;
      edDepName.SetFocus;
      DepInput.Free;
      DepManager.Free;
      SetControlEnable(True, False, False, True);
      MainDataModule.DepTable.First;
end;


//删除指定的部门记录
procedure TDepMainForm.btDelDepClick(Sender: TObject);
 var
    DepManager: DepDBManager;
    DepInput : DepartmentInfo;
begin
    DepManager := DepDBManager.Create;
    DepInput :=DepartmentInfo.Create;
    if Application.MessageBox('确认要删除当前记录吗','确认操作',MB_OKCANCEL)=1 then
        DepManager.DelDepartment;
    DepInput.ZeroDepInput;
    MainDataModule.DepTable.First;
    edDepName.SetFocus;
    DepManager.Free;
    DepInput.Free;
    SetControlEnable(true,false,false,true);
end;

//清除部门输入框中的信息
procedure TDepMainForm.btResetDepClick(Sender: TObject);
var
    DepInput: DepartmentInfo;
begin
    DepInput :=DepartmentInfo.Create;
    DepInput.ZeroDepInput;
    DepInput.Free;
    SetControlEnable(true,false,false,true);
end;

procedure TDepMainForm.SetControlEnable(const nDep, mDep , dDep ,rDep :Boolean);
begin
    btNewDep.Enabled :=nDep;
    btModifyDep.Enabled :=mDep;
    btDelDep.Enabled :=dDep;
    btResetDep.Enabled :=rDep;
end;

//将选择记录信息加载到输入框中
procedure TDepMainForm.DepDBGridCellClick(Column: TColumn);
var
    DepInput: DepartmentInfo;
  begin
    SetControlEnable(false,true,true,true);
    DepInput :=DepartmentInfo.Create;
    if MainDataModule.DepTable.RecordCount<>0 then
    begin
      btNewDep.Enabled :=false;
      btModifyDep.Enabled :=true;
      btDelDep.Enabled :=true;
      DepInput.LoadDepInfo;
    end;
    DepInput.Free;
end;

procedure TDepMainForm.FormShow(Sender: TObject);
begin

//     MainDataModule.DepTable.Filter :='DepNo>1';
//     MainDataModule.DepTable.Filtered :=true;
       SetControlEnable(true,false,false,true);
end;

procedure TDepMainForm.FormActivate(Sender: TObject);
var
  DepNo :String;
begin
    DepNo :=VarToStr(MaindataModule.DepTable.Lookup('DepName','未分配','DepNo'));
    MainDataModule.DepTable.Filter :='DepNo>'+DepNo;
    MainDataModule.DepTable.Filtered :=true;
end;


end.

⌨️ 快捷键说明

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