📄 gz_monthe.pas
字号:
unit Gz_MonthE;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Mask, DBCtrls, ExtCtrls, Db, ObeyTable, Buttons,
CodeEd, OleCtnrs, Grids, DBGrids, ADODB, ADOQry, AdoCodeEd;
type
TfrmGz_MonthE = class(TForm)
qryEdit: TADOQry;
qryEditID: TIntegerField;
qryEditEmpID: TIntegerField;
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;
qryEditSessionID: TIntegerField;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
Label16: TLabel;
Label17: TLabel;
Label18: TLabel;
Label19: TLabel;
Label20: TLabel;
Label21: TLabel;
Label22: TLabel;
Label23: TLabel;
Label24: TLabel;
Label25: TLabel;
Label26: TLabel;
Label27: TLabel;
Label28: TLabel;
Label29: TLabel;
Label30: TLabel;
Label31: TLabel;
Label32: TLabel;
Label33: TLabel;
Label34: TLabel;
DBEdit11: TDBEdit;
DBEdit12: TDBEdit;
DBEdit13: TDBEdit;
DBEdit14: TDBEdit;
DBEdit15: TDBEdit;
DBEdit16: TDBEdit;
DBEdit17: TDBEdit;
DBEdit18: TDBEdit;
DBEdit19: TDBEdit;
DBEdit20: TDBEdit;
DBEdit21: TDBEdit;
DBEdit22: TDBEdit;
DBEdit23: TDBEdit;
DBEdit24: TDBEdit;
DBEdit25: TDBEdit;
DBEdit26: TDBEdit;
DBEdit27: TDBEdit;
DBEdit28: TDBEdit;
DBEdit29: TDBEdit;
DBEdit30: TDBEdit;
DBEdit31: TDBEdit;
DBEdit32: TDBEdit;
DBEdit33: TDBEdit;
DBEdit34: TDBEdit;
Label1: TLabel;
Label2: TLabel;
Bevel1: TBevel;
cmdOK: TBitBtn;
cmdCancel: TBitBtn;
cedEmpCode: TAdoCodeEd;
edEmpName: TEdit;
cmdAdd: TBitBtn;
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure qryEditNewRecord(DataSet: TDataSet);
procedure cedEmpCodeCodeChange(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure cmdAddClick(Sender: TObject);
procedure cmdOKClick(Sender: TObject);
private
{ Private declarations }
lIsNew :Boolean;
nEmpID :integer;
nSessionID :integer;
procedure FModify();
procedure SetHsxmEdit(oDataSet:TDataSet; nCompID:integer; oHsxmDs:TDataSet);
public
{ Public declarations }
Function Add():Boolean;
Function Edit():Boolean;
end;
var
frmGz_MonthE: TfrmGz_MonthE;
implementation
uses SelfFunc, Gz_Month;
{$R *.DFM}
procedure TfrmGz_MonthE.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_MonthE.FModify();
begin
with qryEdit do
begin
Close;
Parameters[0].Value :=nEmpID;
Parameters[1].Value :=nSessionID;
Open;
end;
end;
Function TfrmGz_MonthE.Add():Boolean;
begin
lIsNew :=True;
nSessionID :=TfrmGz_Month(Owner).cboSession.KeyValue;
qryEdit.Close;
cedEmpCode.CodeText :='';
Self.SelectFirst;
Self.ShowModal();
Result :=(cmdOK.Tag >0);
end;
Function TfrmGz_MonthE.Edit():Boolean;
begin
lIsNew :=False;
with TfrmGz_Month(Owner) do
begin
cedEmpCode.Text :=qryBrowseCode.Value;
edEmpName.Text :=qryBrowseName.Value;
nEmpID :=qryBrowseEmpID.Value;
nSessionID :=cboSession.KeyValue;
end;
FModify();
cmdAdd.Visible :=False;
cedEmpCode.Enabled :=False;
Self.ActiveControl :=cmdCancel;
Result :=(Self.ShowModal() =mrOK);
cmdAdd.Visible :=True;
cedEmpCode.Enabled :=True;
end;
procedure TfrmGz_MonthE.FormKeyPress(Sender: TObject; var Key: Char);
begin
if Key =#13 then
begin
Key :=#0;
Self.SelectNext(Self.ActiveControl, True,True);
end;
end;
procedure TfrmGz_MonthE.qryEditNewRecord(DataSet: TDataSet);
begin
NewRecDefa(qryEdit, ['EmpID', nEmpID, 'SessionID', nSessionID]);
end;
procedure TfrmGz_MonthE.cedEmpCodeCodeChange(Sender: TObject);
begin
nEmpID :=qryEmpID.Value;
edEmpName.Text :=qryEmpName.Value;
FModify();
end;
procedure TfrmGz_MonthE.FormCreate(Sender: TObject);
begin
SetHsxmEdit(qryEdit, 11, qryG_Hsxm); //砞竚
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -