📄 pay160_01.pas.svn-base
字号:
unit Pay160_01;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Bas100_01, Db, FR_DSet, FR_DBSet,
FR_Class, Menus, Grids, StdCtrls, Mask,
DBCtrls, ExtCtrls, ComCtrls, ToolWin, dxExEdtr,
dxCntner, dxTL, dxDBCtrl, dxDBGrid, ADODB, ActnList, dxDBTLCl, dxGrClms;
type
TPay160_01Form = class(TBas100_01Form)
CoolBar1: TCoolBar;
ToolBar2: TToolBar;
tlbFirst: TToolButton;
tlbPrior: TToolButton;
tlbNext: TToolButton;
tlbLast: TToolButton;
ToolButton1: TToolButton;
tlbInsert: TToolButton;
tlbUpdate: TToolButton;
tlbDelete: TToolButton;
ToolButton2: TToolButton;
tlbLocate: TToolButton;
tlbPrint: TToolButton;
ToolButton4: TToolButton;
tlbExit: TToolButton;
Panel1: TPanel;
PopupMenu1: TPopupMenu;
mmiPrint: TMenuItem;
mmiExport: TMenuItem;
dsPay160A: TDataSource;
dsPay160B: TDataSource;
Image1: TImage;
qryPay150: TADOQuery;
ActionList1: TActionList;
ActFirst: TAction;
ActPrior: TAction;
ActNext: TAction;
ActLast: TAction;
ActInsert: TAction;
ActUpdate: TAction;
ActDelete: TAction;
ActSave: TAction;
ActCancel: TAction;
ActRefresh: TAction;
ActLocate: TAction;
ActSearch: TAction;
ActPrint: TAction;
ActExport: TAction;
ActExit: TAction;
tlbRefresh: TToolButton;
tlbSearch: TToolButton;
qryPay160A: TADOQuery;
qryPay160B: TADOQuery;
SaveDialog1: TSaveDialog;
ScrollBox1: TScrollBox;
dxDBGrid1: TdxDBGrid;
Splitter1: TSplitter;
qryPay160AP160A_001: TAutoIncField;
qryPay160AP160A_002: TStringField;
qryPay160AP160A_003: TStringField;
dxDBGrid1P160A_002: TdxDBGridMaskColumn;
dxDBGrid1P160A_003: TdxDBGridMaskColumn;
ScrollBox2: TScrollBox;
dxDBGrid2: TdxDBGrid;
qryPay160BP160B_001: TIntegerField;
qryPay160BP160B_002: TIntegerField;
qryPay160BP160B_003: TFloatField;
qryPay160BP160B_004: TBooleanField;
qryPay160BP150_002: TStringField;
qryPay160BP150_003: TStringField;
dxDBGrid2P150_002: TdxDBGridLookupColumn;
dxDBGrid2P150_003: TdxDBGridLookupColumn;
dxDBGrid2P160B_003: TdxDBGridMaskColumn;
dxDBGrid2P160B_004: TdxDBGridCheckColumn;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure ReportGetValue(const ParName: String;
var ParValue: Variant);
procedure ActFirstExecute(Sender: TObject);
procedure ActPriorExecute(Sender: TObject);
procedure ActNextExecute(Sender: TObject);
procedure ActLastExecute(Sender: TObject);
procedure ActInsertExecute(Sender: TObject);
procedure ActUpdateExecute(Sender: TObject);
procedure ActDeleteExecute(Sender: TObject);
procedure ActRefreshExecute(Sender: TObject);
procedure ActLocateExecute(Sender: TObject);
procedure ActSearchExecute(Sender: TObject);
procedure ActPrintExecute(Sender: TObject);
procedure ActExportExecute(Sender: TObject);
procedure ActExitExecute(Sender: TObject);
private
procedure SetButtonState(AInsUpd:Boolean);
procedure SetInterface;
{ Private declarations }
public
{ Public declarations }
end;
var
Pay160_01Form: TPay160_01Form;
implementation
uses SYSDATA, CommFun, Pay160_02;
{$R *.DFM}
//设置按钮状态
procedure TPay160_01Form.SetButtonState(AInsUpd:Boolean);
begin
ActFirst.Enabled:=not AInsUpd;
ActPrior.Enabled:=not AInsUpd;
ActNext.Enabled:=not AInsUpd;
ActLast.Enabled:=not AInsUpd;
ActInsert.Enabled:=(ARights[2]='Y') and (not AInsUpd);
ActUpdate.Enabled:=(ARights[3]='Y') and (not AInsUpd);
ActDelete.Enabled:=(ARights[4]='Y') and (not AInsUpd);
ActRefresh.Enabled:=not AInsUpd;
ActLocate.Enabled:=not AInsUpd;
ActSearch.Enabled:=not AInsUpd;
ActPrint.Enabled:=(ARights[5]='Y') and (not AInsUpd);
ActExit.Enabled:=True;
end;
procedure TPay160_01Form.SetInterface;
begin
Image1.Picture.Bitmap.LoadFromResourceName(AImgHandle,'TOPTITL');
ActFirst.Caption:=GetDBString('COM00005001'); //最前
ActPrior.Caption:=GetDBString('COM00005002'); //上移
ActNext.Caption:=GetDBString('COM00005003'); //下移
ActLast.Caption:=GetDBString('COM00005004'); //最后
ActInsert.Caption:=GetDBString('COM00005005'); //新增
ActUpdate.Caption:=GetDBString('COM00005006'); //修改
ActDelete.Caption:=GetDBString('COM00005007'); //删除
ActRefresh.Caption:=GetDBString('COM00005010'); //刷新
ActLocate.Caption:=GetDBString('COM00005011'); //查找
ActSearch.Caption:=GetDBString('COM00005012'); //查询
ActPrint.Caption:=GetDBString('COM00005013'); //打印
ActExport.Caption:=GetDBString('COM00005014'); //导出数据
ActExit.Caption:=GetDBString('COM00005015'); //退出
ActFirst.Hint:=GetDBString('COM00005001',2); //移到第一条记录
ActPrior.Hint:=GetDBString('COM00005002',2); //移到上一条记录
ActNext.Hint:=GetDBString('COM00005003',2); //移到下一条记录
ActLast.Hint:=GetDBString('COM00005004',2); //移到最后一条记录
ActInsert.Hint:=GetDBString('COM00005005',2); //新增一条记录
ActUpdate.Hint:=GetDBString('COM00005006',2); //修改当前记录
ActDelete.Hint:=GetDBString('COM00005007',2); //删除当前记录
ActRefresh.Hint:=GetDBString('COM00005010',2); //取得最新的数据
ActLocate.Hint:=GetDBString('COM00005011',2); //快速定位记录
ActSearch.Hint:=GetDBString('COM00005012',2); //按条件查询数据
ActPrint.Hint:=GetDBString('COM00005013',2); //将数据打印出来
ActExport.Hint:=GetDBString('COM00005014',2); //导出数据到文件中
ActExit.Hint:=GetDBString('COM00005015',2); //关闭当前窗口
Caption:=GetDBString('PAY16001001'); //薪资类别维护
qryPay160AP160A_002.DisplayLabel:=GetDBString('PAY16001002'); //类别编号
qryPay160AP160A_003.DisplayLabel:=GetDBString('PAY16001003'); //类别名称
qryPay160BP150_002.DisplayLabel:=GetDBString('PAY16001004'); //项目编号
qryPay160BP150_003.DisplayLabel:=GetDBString('PAY16001005'); //项目名称
qryPay160BP160B_003.DisplayLabel:=GetDBString('PAY16001006'); //项目金额
qryPay160BP160B_004.DisplayLabel:=GetDBString('PAY16001007'); //选择
end;
procedure TPay160_01Form.FormCreate(Sender: TObject);
begin
inherited;
qryPay160A.Open;
qryPay160B.Open;
//设置界面信息
SetInterface;
SetButtonState(False);
end;
procedure TPay160_01Form.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
inherited;
qryPay160A.Close;
qryPay160B.Close;
qryPay150.Close;
end;
procedure TPay160_01Form.ReportGetValue(const ParName: String;
var ParValue: Variant);
begin
inherited;
if ParName='USENM' then ParValue:=AUserName
else if ParName='PRNDT' then ParValue:=GetDBString('COM00006006') //列印日期
else if ParName='PRNNM' then ParValue:=GetDBString('COM00006007') //列印人員
else if ParName='REPNM' then ParValue:=AReportTitle
else if ParName='P160A_002' then ParValue:=GetDBString('PAY16001002') //类别编号
else if ParName='P160A_003' then ParValue:=GetDBString('PAY16001003') //类别名称
else if ParName='P150_002' then ParValue:=GetDBString('PAY16001004') //项目编号
else if ParName='P150_003' then ParValue:=GetDBString('PAY16001005') //项目名称
else if ParName='P160B_003' then ParValue:=GetDBString('PAY16001006') //项目金额
else if ParName='P160B_004' then ParValue:=GetDBString('PAY16001007') //选择
end;
procedure TPay160_01Form.ActFirstExecute(Sender: TObject);
begin
inherited;
//最前
if qryPay160A.IsEmpty then Exit;
qryPay160A.First;
ActFirst.Enabled:=False;
ActPrior.Enabled:=False;
ActNext.Enabled:=True;
ActLast.Enabled:=True;
end;
procedure TPay160_01Form.ActPriorExecute(Sender: TObject);
begin
inherited;
//上移
if qryPay160A.IsEmpty then Exit;
qryPay160A.Prior;
ActNext.Enabled:=not qryPay160A.Eof;
ActLast.Enabled:=not qryPay160A.Eof;
ActFirst.Enabled:=not qryPay160A.Bof;
ActPrior.Enabled:=not qryPay160A.Bof;
end;
procedure TPay160_01Form.ActNextExecute(Sender: TObject);
begin
inherited;
//下移
if qryPay160A.IsEmpty then Exit;
qryPay160A.Next;
ActNext.Enabled:=not qryPay160A.Eof;
ActLast.Enabled:=not qryPay160A.Eof;
ActFirst.Enabled:=not qryPay160A.Bof;
ActPrior.Enabled:=not qryPay160A.Bof;
end;
procedure TPay160_01Form.ActLastExecute(Sender: TObject);
begin
inherited;
//最后
if qryPay160A.IsEmpty then Exit;
qryPay160A.Last;
ActNext.Enabled:=False;
ActLast.Enabled:=False;
ActFirst.Enabled:=True;
ActPrior.Enabled:=True;
end;
procedure TPay160_01Form.ActInsertExecute(Sender: TObject);
begin
inherited;
//新增
Pay160_02Form:=TPay160_02Form.Create(Application);
Pay160_02Form.AMode:='ADD';
Pay160_02Form.ADataSet:=qryPay160A;
Pay160_02Form.ShowModal;
qryPay160A.Refresh;
end;
procedure TPay160_01Form.ActUpdateExecute(Sender: TObject);
begin
inherited;
//修改
if qryPay160A.IsEmpty then
begin
ShowMsg('UMS10000002'); //表记录为空,操作无效
Abort;
end;
Pay160_02Form:=TPay160_02Form.Create(Application);
Pay160_02Form.AMode:='UPD';
Pay160_02Form.ADataSet:=qryPay160A;
Pay160_02Form.AOldID:=qryPay160AP160A_002.AsString;
Pay160_02Form.edtClassID.Text:=qryPay160AP160A_002.AsString;
Pay160_02Form.edtClassName.Text:=qryPay160AP160A_003.AsString;
Pay160_02Form.ShowModal;
qryPay160A.Refresh;
end;
procedure TPay160_01Form.ActDeleteExecute(Sender: TObject);
begin
inherited;
//删除
if qryPay160A.IsEmpty then
begin
ShowMsg('UMS10000002'); //表记录为空,操作无效
Abort;
end;
if ShowDialog('UMS10000008')=IDYES then //确定要删除此记录吗?
begin
SYSDM.qryQuery.Close;
SYSDM.qryQuery.SQL.Clear;
SYSDM.qryQuery.SQL.Add('delete from PAY160B where P160B_001='+qryPay160AP160A_001.AsString);
SYSDM.qryQuery.ExecSQL;
qryPay160A.Delete;
end;
end;
procedure TPay160_01Form.ActRefreshExecute(Sender: TObject);
begin
inherited;
//刷新
qryPay160A.Close;
qryPay160A.Open;
end;
procedure TPay160_01Form.ActLocateExecute(Sender: TObject);
begin
inherited;
//查找
if qryPay160A.IsEmpty then
begin
ShowMsg('UMS10000002'); //表记录为空,操作无效
Abort;
end;
LocateDialog(dsPay160A);
end;
procedure TPay160_01Form.ActSearchExecute(Sender: TObject);
begin
inherited;
//查询
FilterDialog(dsPay160A);
end;
procedure TPay160_01Form.ActPrintExecute(Sender: TObject);
begin
inherited;
//打印
SelectReport(qryPay160A,AProgramID,AReportName,ReportGetValue);
ActRefresh.Execute;
end;
procedure TPay160_01Form.ActExportExecute(Sender: TObject);
begin
inherited;
//导出到Excel
if qryPay160A.IsEmpty then
begin
ShowMsg('UMS10000002'); //表记录为空,操作无效
Abort;
end;
SaveToExcel(dxDBGrid1);
end;
procedure TPay160_01Form.ActExitExecute(Sender: TObject);
begin
inherited;
//退出
Close;
end;
initialization
RegisterClass(TPay160_01Form);
finalization
UnRegisterClass(TPay160_01Form);
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -