📄 fmain.pas
字号:
unit FMain;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, ExtCtrls, Grids, DBGrids, StdCtrls, Buttons, FPBase, DB,
ADODB, DateUtils, ComObj, AppEvnts;
type
TfrmMain = class(TForm)
pgc1: TPageControl;
ts1: TTabSheet;
ts2: TTabSheet;
ts3: TTabSheet;
ts4: TTabSheet;
ts5: TTabSheet;
ts6: TTabSheet;
ts7: TTabSheet;
ts8: TTabSheet;
pnl1: TPanel;
dbgrd5: TDBGrid;
pnl2: TPanel;
rg1: TRadioGroup;
dbgrd1: TDBGrid;
btn1: TSpeedButton;
btn2: TSpeedButton;
btn3: TSpeedButton;
btn4: TSpeedButton;
btn5: TSpeedButton;
btn6: TSpeedButton;
btn7: TSpeedButton;
btn8: TSpeedButton;
btn9: TSpeedButton;
dbgrd2: TDBGrid;
dbgrd3: TDBGrid;
btn13: TSpeedButton;
btn14: TSpeedButton;
btn15: TSpeedButton;
dbgrd7: TDBGrid;
pnl3: TPanel;
btn16: TSpeedButton;
btn17: TSpeedButton;
btn18: TSpeedButton;
spl1: TSplitter;
dbgrd6: TDBGrid;
dbgrd8: TDBGrid;
spl2: TSplitter;
pnl4: TPanel;
btn19: TSpeedButton;
btn20: TSpeedButton;
btn21: TSpeedButton;
dbgrd9: TDBGrid;
dbgrd10: TDBGrid;
spl3: TSplitter;
pnl5: TPanel;
btn22: TSpeedButton;
btn23: TSpeedButton;
btn24: TSpeedButton;
dbgrd11: TDBGrid;
dbgrd12: TDBGrid;
spl4: TSplitter;
pnl6: TPanel;
btn25: TSpeedButton;
btn26: TSpeedButton;
btn27: TSpeedButton;
dbgrd13: TDBGrid;
dbgrd4: TDBGrid;
btn10: TSpeedButton;
btn11: TSpeedButton;
btn12: TSpeedButton;
dbgrd14: TDBGrid;
spl5: TSplitter;
btn28: TSpeedButton;
edt1: TEdit;
lbl1: TLabel;
cbb1: TComboBox;
lbl2: TLabel;
pnl7: TPanel;
btn29: TSpeedButton;
btn30: TSpeedButton;
btn31: TSpeedButton;
btn32: TSpeedButton;
lbl3: TLabel;
edt2: TEdit;
dbgrd15: TDBGrid;
edt3: TEdit;
pb1: TProgressBar;
pb2: TProgressBar;
btn33: TButton;
btn35: TSpeedButton;
ApplicationEvents1: TApplicationEvents;
lbl5: TLabel;
procedure FormShow(Sender: TObject);
procedure rg1Click(Sender: TObject);
procedure btn1Click(Sender: TObject);
procedure btn2Click(Sender: TObject);
procedure btn3Click(Sender: TObject);
procedure btn4Click(Sender: TObject);
procedure btn5Click(Sender: TObject);
procedure btn6Click(Sender: TObject);
procedure btn7Click(Sender: TObject);
procedure btn8Click(Sender: TObject);
procedure btn9Click(Sender: TObject);
procedure btn10Click(Sender: TObject);
procedure btn11Click(Sender: TObject);
procedure btn12Click(Sender: TObject);
procedure btn13Click(Sender: TObject);
procedure btn14Click(Sender: TObject);
procedure btn15Click(Sender: TObject);
procedure btn16Click(Sender: TObject);
procedure btn17Click(Sender: TObject);
procedure btn18Click(Sender: TObject);
procedure btn19Click(Sender: TObject);
procedure btn20Click(Sender: TObject);
procedure btn21Click(Sender: TObject);
procedure btn22Click(Sender: TObject);
procedure btn23Click(Sender: TObject);
procedure btn24Click(Sender: TObject);
procedure ts6Show(Sender: TObject);
procedure btn25Click(Sender: TObject);
procedure btn26Click(Sender: TObject);
procedure btn27Click(Sender: TObject);
procedure btn28Click(Sender: TObject);
procedure ts7Show(Sender: TObject);
procedure btn29Click(Sender: TObject);
procedure btn30Click(Sender: TObject);
procedure btn31Click(Sender: TObject);
procedure btn32Click(Sender: TObject);
procedure ApplicationEvents1Exception(Sender: TObject; E: Exception);
procedure btn33Click(Sender: TObject);
procedure btn34Click(Sender: TObject);
procedure btn35Click(Sender: TObject);
procedure btn36Click(Sender: TObject);
procedure FormKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
procedure showGzbz(Index: Integer);
function AddDbData(frm: TfrmPBase): Boolean;
function ModifyDbData(frm: TfrmPBase; ds: TDataSet): Boolean;
function DelDbData(ds: TDataSet): Boolean;
function IsHaveRelation(ds: TDataSet; field1, table2, field2: string): Boolean;
procedure CalcYgz();
procedure CalcNzjj();
public
{ Public declarations }
end;
var
frmMain: TfrmMain;
implementation
uses DataModule, Common, FLogin, Fgz, Fjblb, Fqqlb, Fygxx, Fndxy, Fkqxx, Fjtxx,
Fylbx, FAdminLogin, FAbout;
{$R *.dfm}
procedure TfrmMain.showGzbz(Index: Integer);
procedure showcontrol(Index: Integer; show: Boolean);
begin
case Index of
0:begin
dbgrd1.Visible := show;
btn1.Visible := show;
btn2.Visible := show;
btn3.Visible := show;
end;
1:begin
dbgrd2.Visible := show;
btn4.Visible := show;
btn5.Visible := show;
btn6.Visible := show;
end;
2:begin
dbgrd3.Visible := show;
btn7.Visible := show;
btn8.Visible := show;
btn9.Visible := show;
end;
3:begin
dbgrd4.Visible := show;
btn10.Visible := show;
btn11.Visible := show;
btn12.Visible := show;
end;
end;
end;
begin
case Index of
0:begin
showcontrol(1, False);
showcontrol(2, False);
showcontrol(3, False);
showcontrol(0, True);
end;
1:begin
showcontrol(0, False);
showcontrol(2, False);
showcontrol(3, False);
showcontrol(1, True);
end;
2:begin
showcontrol(0, False);
showcontrol(1, False);
showcontrol(3, False);
showcontrol(2, True);
end;
3:begin
showcontrol(0, False);
showcontrol(1, False);
showcontrol(2, False);
showcontrol(3, True);
// 不能更改企业年度效益
btn10.Visible := False;
btn11.Visible := False;
btn12.Visible := False;
end;
end;
end;
procedure TfrmMain.FormShow(Sender: TObject);
begin
// 初始化界面
dbgrd2.Top := dbgrd1.Top; dbgrd2.Left := dbgrd1.Left;
btn4.Top := btn1.Top; btn4.Left := btn1.Left;
btn5.Top := btn2.Top; btn5.Left := btn2.Left;
btn6.Top := btn3.Top; btn6.Left := btn3.Left;
dbgrd3.Top := dbgrd1.Top; dbgrd3.Left := dbgrd1.Left;
btn7.Top := btn1.Top; btn7.Left := btn1.Left;
btn8.Top := btn2.Top; btn8.Left := btn2.Left;
btn9.Top := btn3.Top; btn9.Left := btn3.Left;
dbgrd4.Top := dbgrd1.Top; dbgrd4.Left := dbgrd1.Left;
btn10.Top := btn1.Top; btn10.Left := btn1.Left;
btn11.Top := btn2.Top; btn11.Left := btn2.Left;
btn12.Top := btn3.Top; btn12.Left := btn3.Left;
pb1.Visible := False;
pb2.Visible := False;
showGzbz(rg1.ItemIndex);
// 打开数据库
dm.con1.Connected := True;
// 登录验证
if (mrOk <> frmLogin.ShowModal) then begin
Close;
exit;
end;
// 继续打开数据库
dm.qryGz.Active := True;
dm.qryJblb.Active := True;
dm.qryQqlb.Active := True;
dm.qryNdxy.Active := True;
dm.qryYgxx.Active := True;
dm.qryKqxx.Active := True;
dm.qryJtxx.Active := True;
dm.qryYlbx.Active := True;
dm.qryYgz.Active := True;
dm.qryNzjj.Active := True;
end;
procedure TfrmMain.rg1Click(Sender: TObject);
begin
showGzbz(rg1.ItemIndex);
end;
// 添加资料
function TfrmMain.AddDbData(frm: TfrmPBase): Boolean;
begin
frm.strState := 'N';
if mrOk = frm.ShowModal then
Result := True
else
Result := False;
end;
// 修改资料
function TfrmMain.ModifyDbData(frm: TfrmPBase; ds: TDataSet): Boolean;
begin
Result := False;
if ds.RecordCount >0 then begin
frm.strState := 'M';
if mrOk = frm.ShowModal then
Result := True;
end
else
Application.MessageBox('没有可以修改的信息。', PChar(Application.Title),
MB_OK + MB_ICONINFORMATION);
end;
// 删除资料
function TfrmMain.DelDbData(ds: TDataSet): Boolean;
begin
Result := False;
if ds.RecordCount >0 then begin
if Application.MessageBox('是否要删除此信息?', PChar(Application.Title),
MB_YESNO + MB_ICONQUESTION) = IDYES then
begin
ds.Delete;
Result := True;
end;
end
else
Application.MessageBox('没有可以删除的信息。', PChar(Application.Title),
MB_OK + MB_ICONINFORMATION);
end;
function TfrmMain.IsHaveRelation(ds: TDataSet; field1, table2, field2: string): Boolean;
var
v: Variant;
q: TADOQuery;
begin
Result := False;
if ds.RecordCount >0 then begin
if ds[field1] <> null then begin
v := ds[field1];
q := TADOQuery.Create(nil);
q.Connection := dm.con1;
q.SQL.Text := 'select '+field2+' from '+table2+ ' where '+field2+' = :field2';
q.Parameters.ParamByName('field2').Value := v;
q.Prepared := True;
q.Open;
if q.RecordCount >0 then
Result := True;
q.Close;
q.Free;
end;
end;
end;
// 添加工种
procedure TfrmMain.btn1Click(Sender: TObject);
begin
AddDbData(frmGz);
end;
// 修改工种
procedure TfrmMain.btn2Click(Sender: TObject);
begin
ModifyDbData(frmGz, dm.qryGz);
end;
// 删除工种
procedure TfrmMain.btn3Click(Sender: TObject);
var
msg: string;
begin
// 员工资料是否有此工种
msg := '';
if IsHaveRelation(dm.qryGz, 'gz_id', 'ygxx', 'gz_id') then begin
msg := '员工资料中有此信息' +#13+#13+ '不能删除此工种!';
Application.MessageBox(PChar(msg), PChar(Application.Title), MB_OK +
MB_ICONWARNING);
exit;
end;
DelDbData(dm.qryGz);
end;
// 添加加班类别
procedure TfrmMain.btn4Click(Sender: TObject);
begin
AddDbData(frmJblb);
end;
// 修改加班类别
procedure TfrmMain.btn5Click(Sender: TObject);
begin
ModifyDbData(frmJblb, dm.qryJblb);
end;
// 删除加班类别
procedure TfrmMain.btn6Click(Sender: TObject);
var
msg: string;
begin
// 津贴信息是否有此加班类别
msg := '';
if IsHaveRelation(dm.qryJblb, 'jblb_id', 'jtxx', 'jblb_id') then begin
msg := '津贴信息中有此信息' +#13+#13+ '不能删除此加班类别!';
Application.MessageBox(PChar(msg), PChar(Application.Title), MB_OK +
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -