📄 gz_daye.pas
字号:
unit Gz_DayE;
interface
uses Gz_DayE2,
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Mask, DBCtrls, ExtCtrls, Db, ObeyTable, Buttons,
CodeEd, OleCtnrs, Grids, DBGrids, ADODB, ADOQry, AdoCodeEd;
type
TfrmGz_DayE = class(TForm)
DBGrid1: TDBGrid;
qryGz_Jj: TADOQry;
DataSource2: TDataSource;
qryGz_JjID: TIntegerField;
qryGz_JjFDate: TDateTimeField;
qryGz_JjEmpID: TIntegerField;
qryGz_JjGxID: TIntegerField;
qryGz_JjPerCost: TFloatField;
qryGz_JjAmount: TFloatField;
qryGz_JjCost: TFloatField;
qryGz_JjCode: TStringField;
qryGz_JjName: TStringField;
panFooter: TPanel;
panGz_Day: TPanel;
qryEdit: TADOQry;
qryEditID: TIntegerField;
qryEditFDate: TDateTimeField;
qryEditEmpID: TIntegerField;
qryEditG_jj: TFloatField;
DataSource1: TDataSource;
qryG_Hsxm: TADOQry;
qryG_HsxmCode: TStringField;
qryG_HsxmName: TStringField;
qryG_HsxmFDataType: TSmallintField;
qryG_HsxmFDataLen: TSmallintField;
qryEmp: TADOQry;
qryEmpID: TIntegerField;
qryEmpCode: TStringField;
qryEmpName: TStringField;
Label11: TLabel;
Label12: TLabel;
DBEdit11: TDBEdit;
DBEdit12: TDBEdit;
Label13: TLabel;
Label14: TLabel;
DBEdit13: TDBEdit;
DBEdit14: TDBEdit;
Label15: TLabel;
Label16: TLabel;
DBEdit15: TDBEdit;
DBEdit16: TDBEdit;
Label17: TLabel;
Label18: TLabel;
DBEdit17: TDBEdit;
DBEdit18: TDBEdit;
Label19: TLabel;
Label20: TLabel;
DBEdit19: TDBEdit;
DBEdit20: TDBEdit;
Label21: TLabel;
Label22: TLabel;
DBEdit21: TDBEdit;
DBEdit22: TDBEdit;
Label23: TLabel;
Label24: TLabel;
DBEdit23: TDBEdit;
DBEdit24: TDBEdit;
Label25: TLabel;
Label26: TLabel;
DBEdit25: TDBEdit;
DBEdit26: TDBEdit;
cmdJjDel: TBitBtn;
cmdJjEdit: TBitBtn;
cmdJjAdd: TBitBtn;
Label3: TLabel;
DBEdit1: TDBEdit;
panHeader: TPanel;
Label1: TLabel;
Label2: TLabel;
cmdOK: TBitBtn;
cmdCancel: TBitBtn;
cedEmpCode: TAdoCodeEd;
edEmpName: TEdit;
cmdAdd: TBitBtn;
Bevel1: TBevel;
qryGz_JjCostNum: TIntegerField;
qrySysSet: TADOQry;
qrySysSetIfGzjjSys: TBooleanField;
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure qryEditNewRecord(DataSet: TDataSet);
procedure cmdJjAddClick(Sender: TObject);
procedure cmdJjEditClick(Sender: TObject);
procedure cmdJjDelClick(Sender: TObject);
procedure cedEmpCodeCodeChange(Sender: TObject);
procedure qryGz_JjNewRecord(DataSet: TDataSet);
procedure FormCreate(Sender: TObject);
procedure cmdAddClick(Sender: TObject);
procedure cmdOKClick(Sender: TObject);
procedure qryGz_JjAfterDelete(DataSet: TDataSet);
procedure qryGz_JjAfterPost(DataSet: TDataSet);
procedure qryGz_JjAmountChange(Sender: TField);
private
{ Private declarations }
lIsNew :Boolean;
nEmpID :integer;
dDate :TDate;
dlgGz_DayE2 :TfrmGz_DayE2;
procedure FModify();
procedure SetHsxmEdit(oDataSet:TDataSet; nCompID:integer; oHsxmDs:TDataSet);
public
{ Public declarations }
Function Add():Boolean;
Function Edit():Boolean;
end;
var
frmGz_DayE: TfrmGz_DayE;
implementation
uses SelfFunc, Gz_Day;
{$R *.DFM}
procedure TfrmGz_DayE.SetHsxmEdit(oDataSet:TDataSet; nCompID:integer; oHsxmDs:TDataSet);
var ts :string;
oLabel :TLabel;
oDBEdit :TDBEdit;
oField :TField;
begin
//oHsxmDs.First;
while not oHsxmDs.Eof do
begin
with oDataSet.FieldDefs.AddFieldDef do
begin
Name := oHsxmDs.FieldByName('Code').AsString;
if oHsxmDs.FieldByName('FDataType').AsInteger =1 then
DataType := ftFloat
else if oHsxmDs.FieldByName('FDataType').AsInteger =2 then
begin
DataType := ftString;
Size := oHsxmDs.FieldByName('FDataLen').AsInteger;
end
else if oHsxmDs.FieldByName('FDataType').AsInteger =3 then
DataType := ftDateTime;
oField :=CreateField(oDataSet);
end;
ts :=IntToStr(nCompID);
oLabel :=(FindComponent('Label' +ts) AS TLabel);
oLabel.Caption := oHsxmDs.FieldByName('Name').AsString;
oLabel.Visible :=True;
oDBEdit :=(FindComponent('DBEdit' +ts) AS TDBEdit);
oDBEdit.DataField := oHsxmDs.FieldByName('Code').AsString;
oDBEdit.Visible :=True;
if oField is TDateTimeField then
oDBEdit.MaxLength :=10;
nCompID :=nCompID +1;
oHsxmDs.Next;
end;
end;
procedure TfrmGz_DayE.FModify();
begin
with qryEdit do
begin
Close;
Parameters[0].Value :=nEmpID;
Parameters[1].Value :=dDate;
Open;
end;
with qryGz_Jj do
begin
Close;
Parameters[0].Value :=nEmpID;
Parameters[1].Value :=dDate;
Open;
end;
end;
Function TfrmGz_DayE.Add():Boolean;
begin
lIsNew :=True;
dDate :=TfrmGz_Day(Owner).dpDate.Date;
qryEdit.Close;
qryGz_Jj.Close;
cedEmpCode.CodeText :='';
Self.ActiveControl :=cedEmpCode;
Self.ShowModal();
Result :=(cmdOK.Tag >0);
end;
Function TfrmGz_DayE.Edit():Boolean;
begin
lIsNew :=False;
with TfrmGz_Day(Owner) do
begin
cedEmpCode.Text :=qryBrowseCode.Value;
edEmpName.Text :=qryBrowseName.Value;
nEmpID :=qryBrowseEmpID.Value;
dDate :=dpDate.Date;
end;
FModify();
cmdAdd.Visible :=False;
cedEmpCode.Enabled :=False;
Self.ActiveControl :=cmdCancel;
Result :=(Self.ShowModal() =mrOK);
cmdAdd.Visible :=True;
cedEmpCode.Enabled :=True;
end;
procedure TfrmGz_DayE.FormKeyPress(Sender: TObject; var Key: Char);
begin
if Key =#13 then
begin
Key :=#0;
Self.SelectNext(Self.ActiveControl, True,True);
end;
end;
procedure TfrmGz_DayE.qryEditNewRecord(DataSet: TDataSet);
begin
NewRecDefa(qryEdit, ['EmpID', nEmpID, 'FDate', dDate]);
end;
procedure TfrmGz_DayE.cmdJjAddClick(Sender: TObject);
begin
if not qryGz_Jj.Active then Exit;
qryGz_Jj.Append;
if dlgGz_DayE2.Edit() then
begin
{if lIsNew then cmdAdd.SetFocus
else cmdOK.SetFocus;}
end;
end;
procedure TfrmGz_DayE.cmdJjEditClick(Sender: TObject);
begin
if qryGz_Jj.IsEmpty then MessageBeep(0)
else dlgGz_DayE2.Edit();
end;
procedure TfrmGz_DayE.cmdJjDelClick(Sender: TObject);
begin
if qryGz_Jj.IsEmpty then MessageBeep(0)
else qryGz_Jj.Delete;
end;
procedure TfrmGz_DayE.cedEmpCodeCodeChange(Sender: TObject);
begin
nEmpID :=qryEmpID.Value;
edEmpName.Text :=qryEmpName.Value;
FModify();
end;
procedure TfrmGz_DayE.qryGz_JjNewRecord(DataSet: TDataSet);
begin
NewRecDefa(qryGz_Jj, ['EmpID', nEmpID, 'FDate', dDate]);
end;
procedure TfrmGz_DayE.FormCreate(Sender: TObject);
begin
dlgGz_DayE2 :=TfrmGz_DayE2.Create(Self);
if not qrySysSetIfGzjjSys.Value then //礚璸ン
begin
DBGrid1.Visible :=False;
panFooter.Visible :=False;
end;
if qryG_Hsxm.IsEmpty then panGz_Day.Visible :=False
else SetHsxmEdit(qryEdit, 11, qryG_Hsxm); //砞竚
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -