departmentworfrm.pas
来自「一个电力企业的后台管理程序」· PAS 代码 · 共 536 行
PAS
536 行
unit DepartmentWorFrm;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ActnList, TB97Ctls, TB97, TB97Tlbr, ExtCtrls, ComCtrls, Menus, Buttons,
StdCtrls, Mask, DBCtrls, Db, DbTables, ToolWin, ImgList, Grids, DBGrids;
type
TTableStatus=(TableInsert,TablePost);
TForm_DepartmentWork = class(TForm)
ImageList_Tab: TImageList;
ToolBar1: TToolBar;
ToolButton5: TToolButton;
TB_new: TToolButton;
TB_edit: TToolButton;
TB_save: TToolButton;
TB_delete: TToolButton;
ToolButton10: TToolButton;
TB_close: TToolButton;
ActionList_Tab: TActionList;
Action_First: TAction;
Action_prior: TAction;
Action_next: TAction;
Action_last: TAction;
Action_new: TAction;
Action_edit: TAction;
Action_save: TAction;
Action_delete: TAction;
Action_clsoe: TAction;
PC_Main: TPageControl;
Tab_GzbxDepart: TTabSheet;
Tab_YhtsDepart: TTabSheet;
Tab_YhtsClass: TTabSheet;
Tab_ZxdjDepart: TTabSheet;
Tab_YdsqDepart: TTabSheet;
Panel1: TPanel;
Panel2: TPanel;
Label1: TLabel;
DBEdit1: TDBEdit;
DBGrid1: TDBGrid;
Panel3: TPanel;
Panel4: TPanel;
Label2: TLabel;
DBEdit2: TDBEdit;
DBGrid2: TDBGrid;
Panel5: TPanel;
Panel6: TPanel;
Label3: TLabel;
DBEdit3: TDBEdit;
DBGrid3: TDBGrid;
Panel7: TPanel;
Panel8: TPanel;
Label4: TLabel;
DBEdit4: TDBEdit;
DBGrid4: TDBGrid;
Panel9: TPanel;
Panel10: TPanel;
Label5: TLabel;
DBEdit5: TDBEdit;
DBGrid5: TDBGrid;
Tab_WorkName: TTabSheet;
Panel11: TPanel;
Panel12: TPanel;
Label6: TLabel;
DBEdit6: TDBEdit;
DBGrid6: TDBGrid;
DBEdit7: TDBEdit;
Label7: TLabel;
Label8: TLabel;
DBEdit8: TDBEdit;
Label9: TLabel;
DBEdit9: TDBEdit;
Label10: TLabel;
DBEdit10: TDBEdit;
DBEdit11: TDBEdit;
Label11: TLabel;
Label12: TLabel;
DBEdit12: TDBEdit;
Label13: TLabel;
DBEdit13: TDBEdit;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure Action_newExecute(Sender: TObject);
procedure Action_editExecute(Sender: TObject);
procedure Action_saveExecute(Sender: TObject);
procedure Action_deleteExecute(Sender: TObject);
procedure Action_clsoeExecute(Sender: TObject);
procedure PC_MainChange(Sender: TObject);
procedure DBEdit9KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
TableStatus:TTableStatus;
procedure SetCommitStatus(TableStatus:TTableStatus);
function GetSerialNoQry(AnyQuery:TQuery;SerialName:string):integer;
//SerialName字段必须排序
end;
var
Form_DepartmentWork: TForm_DepartmentWork;
implementation
uses systemDM,ManagData,EcscMain,SystemPH, DepartmentFrm;
{$R *.DFM}
function TForm_DepartmentWork.GetSerialNoQry(AnyQuery: TQuery;
SerialName: string): integer;
var
i,No,LastNO,CurNo:integer;
begin
i:=0;
No:=1;
with Self do
begin
AnyQuery.First;
LastNo:=AnyQuery.Fieldbyname(SerialName).asinteger;
while not AnyQuery.Eof do //给BitNo字段分配序号,
begin
if AnyQuery.Bof then
begin
if LastNo>1 then
begin
No:=1;
break;
end;
end;
AnyQuery.Next;
CurNo:=AnyQuery.Fieldbyname(SerialName).asinteger;
if (CurNo-LastNo)>1 then
begin
No:=LastNo+1;
break;
end else
begin
LastNo:=CurNo;
end;
i:=i+1;
end;
if i>=AnyQuery.RecordCount then
No:=AnyQuery.Fieldbyname(SerialName).asinteger+1;
end;
Result:=No;
end;
procedure TForm_DepartmentWork.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
if screen.FormCount=2 then WebIsHide(0);
with ManagDM do
begin
Tbl_ElecOutDepart.close;
Tbl_CompDepart.close;
Tbl_CompType.close;
Tbl_AskDepart.Close;
Tbl_AskElecDepart.Close;
Tbl_WorkName.Close;
end;
Action:=CaFree;
Form_Department:=nil;
end;
procedure TForm_DepartmentWork.FormCreate(Sender: TObject);
begin
PC_Main.ActivePageIndex :=0;
ManagDM.Tbl_ElecOutDepart.open;
end;
procedure TForm_DepartmentWork.SetCommitStatus(TableStatus: TTableStatus);
begin
if TableStatus=TableInsert then
begin
Action_new.Enabled :=false;
Action_edit.Enabled :=false;
Action_save.Enabled :=true;
case pc_main.ActivePageIndex of
0:
begin
DBGrid1.Enabled :=false;
if ManagDM.Tbl_ElecOutDepart.IsEmpty then Action_delete.Enabled :=false
else Action_delete.Enabled :=true;
end;
1:
begin
DBGrid2.Enabled :=false;
if ManagDM.Tbl_CompDepart.IsEmpty then Action_delete.Enabled :=false
else Action_delete.Enabled :=true;
end;
2:
begin
DBGrid3.Enabled :=false;
if ManagDM.Tbl_CompType.IsEmpty then Action_delete.Enabled :=false
else Action_delete.Enabled :=true;
end;
3:
begin
DBGrid4.Enabled :=false;
if ManagDM.Tbl_AskDepart.IsEmpty then Action_delete.Enabled :=false
else Action_delete.Enabled :=true;
end;
4:
begin
DBGrid5.Enabled :=false;
if ManagDM.Tbl_AskElecDepart.IsEmpty then Action_delete.Enabled :=false
else Action_delete.Enabled :=true;
end;
5:
begin
DBGrid6.Enabled :=false;
if ManagDM.Tbl_WorkName.IsEmpty then Action_delete.Enabled :=false
else Action_delete.Enabled :=true;
end;
end;
end;
if TableStatus=TablePost then
begin
Action_new.Enabled :=true;
Action_edit.Enabled :=true;
Action_save.Enabled :=false;
case pc_main.ActivePageIndex of
0:
begin
DBGrid1.Enabled :=true;
if ManagDM.Tbl_ElecOutDepart.IsEmpty then Action_delete.Enabled :=false
else Action_delete.Enabled :=true;
end;
1:
begin
DBGrid2.Enabled :=true;
if ManagDM.Tbl_CompDepart.IsEmpty then Action_delete.Enabled :=false
else Action_delete.Enabled :=true;
end;
2:
begin
DBGrid3.Enabled :=true;
if ManagDM.Tbl_CompType.IsEmpty then Action_delete.Enabled :=false
else Action_delete.Enabled :=true;
end;
3:
begin
DBGrid4.Enabled :=true;
if ManagDM.Tbl_AskDepart.IsEmpty then Action_delete.Enabled :=false
else Action_delete.Enabled :=true;
end;
4:
begin
DBGrid5.Enabled :=true;
if ManagDM.Tbl_AskElecDepart.IsEmpty then Action_delete.Enabled :=false
else Action_delete.Enabled :=true;
end;
5:
begin
DBGrid6.Enabled :=true;
if ManagDM.Tbl_WorkName.IsEmpty then Action_delete.Enabled :=false
else Action_delete.Enabled :=true;
end;
end;
end;
end;
procedure TForm_DepartmentWork.Action_newExecute(Sender: TObject);
begin
case pc_main.ActivePageIndex of
0:
begin
ManagDM.Tbl_ElecOutDepart.Append ;
end;
1:
begin
ManagDM.Tbl_CompDepart.Append ;
end;
2:
begin
ManagDM.Tbl_CompType.Append ;
end;
3:
begin
ManagDM.Tbl_AskDepart.Append ;
end;
4:
begin
ManagDM.Tbl_AskElecDepart.Append ;
end;
5:
begin
ManagDM.Tbl_WorkName.Append ;
end;
end;
//SetCommitStatus(TableInsert);
end;
procedure TForm_DepartmentWork.Action_editExecute(Sender: TObject);
begin
case pc_main.ActivePageIndex of
0:
begin
ManagDM.Tbl_ElecOutDepart.edit ;
end;
1:
begin
ManagDM.Tbl_CompDepart.edit ;
end;
2:
begin
ManagDM.Tbl_CompType.edit ;
end;
3:
begin
ManagDM.Tbl_AskDepart.edit ;
end;
4:
begin
ManagDM.Tbl_AskElecDepart.edit ;
end;
5:
begin
ManagDM.Tbl_WorkName.edit ;
end;
end;
end;
procedure TForm_DepartmentWork.Action_saveExecute(Sender: TObject);
begin
case pc_main.ActivePageIndex of
0:
begin
if (ManagDM.Tbl_ElecOutDepart.State in [dsinsert,dsedit]) then
begin
ManagDM.Tbl_ElecOutDepart.Post ;
ManagDM.Tbl_ElecOutDepart.ApplyUpdates ;
ManagDM.Tbl_ElecOutDepart.CommitUpdates ;
end;
end;
1:
begin
if (ManagDM.Tbl_CompDepart.State in [dsinsert,dsedit]) then
begin
ManagDM.Tbl_CompDepart.Post ;
ManagDM.Tbl_CompDepart.ApplyUpdates ;
ManagDM.Tbl_CompDepart.CommitUpdates ;
end;
end;
2:
begin
if (ManagDM.Tbl_CompType.State in [dsinsert,dsedit]) then
begin
ManagDM.Tbl_CompType.Post ;
ManagDM.Tbl_CompType.ApplyUpdates ;
ManagDM.Tbl_CompType.CommitUpdates ;
end;
end;
3:
begin
if (ManagDM.Tbl_AskDepart.State in [dsinsert,dsedit]) then
begin
ManagDM.Tbl_AskDepart.Post ;
ManagDM.Tbl_AskDepart.ApplyUpdates ;
ManagDM.Tbl_AskDepart.CommitUpdates ;
end;
end;
4:
begin
if (ManagDM.Tbl_AskElecDepart.State in [dsinsert,dsedit]) then
begin
ManagDM.Tbl_AskElecDepart.Post ;
ManagDM.Tbl_AskElecDepart.ApplyUpdates ;
ManagDM.Tbl_AskElecDepart.CommitUpdates ;
end;
end;
5:
begin
if (ManagDM.Tbl_WorkName.State in [dsinsert,dsedit]) then
begin
ManagDM.Tbl_WorkName.Post ;
ManagDM.Tbl_WorkName.ApplyUpdates ;
ManagDM.Tbl_WorkName.CommitUpdates ;
end;
end;
end;
end;
procedure TForm_DepartmentWork.Action_deleteExecute(Sender: TObject);
begin
case pc_main.ActivePageIndex of
0:
begin
if not (ManagDM.Tbl_ElecOutDepart.IsEmpty) then
begin
ManagDM.Tbl_ElecOutDepart.Delete ;
ManagDM.Tbl_ElecOutDepart.ApplyUpdates ;
ManagDM.Tbl_ElecOutDepart.CommitUpdates ;
end;
end;
1:
begin
if not (ManagDM.Tbl_CompDepart.IsEmpty) then
begin
ManagDM.Tbl_CompDepart.Delete ;
ManagDM.Tbl_CompDepart.ApplyUpdates ;
ManagDM.Tbl_CompDepart.CommitUpdates ;
end;
end;
2:
begin
if not (ManagDM.Tbl_CompType.IsEmpty) then
begin
ManagDM.Tbl_CompType.Delete ;
ManagDM.Tbl_CompType.ApplyUpdates ;
ManagDM.Tbl_CompType.CommitUpdates ;
end;
end;
3:
begin
if not(ManagDM.Tbl_AskDepart.IsEmpty) then
begin
ManagDM.Tbl_AskDepart.Delete ;
ManagDM.Tbl_AskDepart.ApplyUpdates ;
ManagDM.Tbl_AskDepart.CommitUpdates ;
end;
end;
4:
begin
if not(ManagDM.Tbl_AskElecDepart.IsEmpty) then
begin
ManagDM.Tbl_AskElecDepart.Delete ;
ManagDM.Tbl_AskElecDepart.ApplyUpdates ;
ManagDM.Tbl_AskElecDepart.CommitUpdates ;
end;
end;
5:
begin
if not(ManagDM.Tbl_WorkName.IsEmpty) then
begin
ManagDM.Tbl_WorkName.Delete ;
ManagDM.Tbl_WorkName.ApplyUpdates ;
ManagDM.Tbl_WorkName.CommitUpdates ;
end;
end;
end;
end;
procedure TForm_DepartmentWork.Action_clsoeExecute(Sender: TObject);
begin
close;
end;
procedure TForm_DepartmentWork.PC_MainChange(Sender: TObject);
begin
case pc_main.ActivePageIndex of
0:
begin
with ManagDM do
begin
Tbl_ElecOutDepart.open;
Tbl_CompDepart.close;
Tbl_CompType.close;
Tbl_AskDepart.close;
Tbl_AskElecDepart.close;
Tbl_WorkName.close;
end;
end;
1:
begin
with ManagDM do
begin
Tbl_ElecOutDepart.close;
Tbl_CompDepart.open;
Tbl_CompType.close;
Tbl_AskDepart.close;
Tbl_AskElecDepart.close;
Tbl_WorkName.close;
end;
end;
2:
begin
with ManagDM do
begin
Tbl_ElecOutDepart.close;
Tbl_CompDepart.close;
Tbl_CompType.open;
Tbl_AskDepart.close;
Tbl_AskElecDepart.close;
Tbl_WorkName.close;
end;
end;
3:
begin
with ManagDM do
begin
Tbl_ElecOutDepart.close;
Tbl_CompDepart.close;
Tbl_CompType.close;
Tbl_AskDepart.open;
Tbl_AskElecDepart.close;
Tbl_WorkName.close;
end;
end;
4:
begin
with ManagDM do
begin
Tbl_ElecOutDepart.close;
Tbl_CompDepart.close;
Tbl_CompType.close;
Tbl_AskDepart.close;
Tbl_AskElecDepart.open;
Tbl_WorkName.close;
end;
end;
5:
begin
with ManagDM do
begin
Tbl_ElecOutDepart.close;
Tbl_CompDepart.close;
Tbl_CompType.close;
Tbl_AskDepart.close;
Tbl_AskElecDepart.close;
Tbl_WorkName.open;
end;
end;
end;
end;
procedure TForm_DepartmentWork.DBEdit9KeyPress(Sender: TObject;
var Key: Char);
begin
if not (key in ['0'..'9',#8]) then key:=#0;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?