?? departmentmain.~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 + -