📄 employeditfrm.pas
字号:
unit EmployEditFrm;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
SDIfrm, ComCtrls, StdCtrls, Mask, DBCtrls, Buttons, ExtCtrls, DBGrids;
resourcestring
sEmpNull='员工姓名不能为空!';
sDepNull='部门名称不能为空!';
sEmpCode='员工编号不能为空!';
type
TEmployEditForm = class(TSDIForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
bbtnConfirm: TBitBtn;
bbtnCancel: TBitBtn;
bbtnAdd: TBitBtn;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
DBEdit6: TDBEdit;
Label9: TLabel;
DBEdit9: TDBEdit;
Label12: TLabel;
DBEdit12: TDBEdit;
Label13: TLabel;
DBEdit13: TDBEdit;
Label14: TLabel;
DBEdit14: TDBEdit;
Label15: TLabel;
DBEdit15: TDBEdit;
DBCheckBox2: TDBCheckBox;
dbcbCulture: TDBComboBox;
Label16: TLabel;
DBEdit2: TDBEdit;
Label18: TLabel;
DBEdit8: TDBEdit;
Label8: TLabel;
sbBirthday: TSpeedButton;
Label7: TLabel;
DBEdit7: TDBEdit;
sbPostDate: TSpeedButton;
Label11: TLabel;
DBEdit11: TDBEdit;
Label2: TLabel;
DBEdit3: TDBEdit;
dbrgCountMeth: TDBRadioGroup;
dblcExpressions: TDBLookupComboBox;
Label19: TLabel;
dbcbSex: TDBComboBox;
Label10: TLabel;
Label17: TLabel;
Label20: TLabel;
DBEdit4: TDBEdit;
Label21: TLabel;
dbcbDepartment: TDBLookupComboBox;
DBEdit1: TDBEdit;
DBEdit5: TDBEdit;
DBLookupComboBox1: TDBLookupComboBox;
procedure bbtnConfirmClick(Sender: TObject);
procedure bbtnCancelClick(Sender: TObject);
procedure bbtnAddClick(Sender: TObject);
procedure sbPostDateClick(Sender: TObject);
procedure sbBirthdayClick(Sender: TObject);
procedure DBEdit8KeyPress(Sender: TObject; var Key: Char);
procedure DBEdit7KeyPress(Sender: TObject; var Key: Char);
procedure dbrgCountMethClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure bbtnConfirmEnter(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure dbcbDepartmentClick(Sender: TObject);
procedure DBLookupComboBox1Click(Sender: TObject);
private
{ Private declarations }
public
procedure ShowModalPopup(popup: integer);
{ Public declarations }
end;
var
EmployEditForm: TEmployEditForm;
implementation
uses unDM2, Globals, Pickdate, Dialog;
{$R *.DFM}
procedure TEmployEditForm.ShowModalPopup(popup : integer);
begin
case popup of
0: begin
bbtnAdd.Visible:=true;
DM2.tblEmploy.append;
ShowModal;
end;
1: begin
bbtnAdd.Visible:=false;
// DM2.cdsCurrency.refresh;
DM2.tblEmploy.edit;
ShowModal;
end;
end;
end;
procedure TEmployEditForm.bbtnConfirmClick(Sender: TObject);
begin
inherited;
DM2.tblEmploy.Post;
EmployEditForm.close;
end;
procedure TEmployEditForm.bbtnCancelClick(Sender: TObject);
begin
inherited;
DM2.tblEmploy.Cancel;
EmployEditForm.close;
end;
procedure TEmployEditForm.bbtnAddClick(Sender: TObject);
begin
inherited;
DM2.tblEmploy.Append;
Dbedit2.SetFocus;
end;
procedure TEmployEditForm.sbPostDateClick(Sender: TObject);
begin
inherited;
BrDateForm.Date := DM2.tblEmployPostDate.Value; { start with current date }
if BrDateForm.ShowModal = mrOk then
begin
DM2.tblEmploy.Edit;
DM2.tblEmployPostDate.Value := BrDateForm.Date;
end;
end;
procedure TEmployEditForm.sbBirthdayClick(Sender: TObject);
begin
inherited;
BrDateForm.Date := DM2.tblEmployPostDate.Value; { start with current date }
if BrDateForm.ShowModal = mrOk then
begin
DM2.tblEmploy.Edit;
DM2.tblEmployBirthday.Value := BrDateForm.Date;
// SaleDateEdit.SelectAll;
end;
end;
procedure TEmployEditForm.DBEdit8KeyPress(Sender: TObject; var Key: Char);
begin
inherited;
if Key = ^J then
begin
sbBirthdayClick(Sender);
Key := #0;
end;
end;
procedure TEmployEditForm.DBEdit7KeyPress(Sender: TObject; var Key: Char);
begin
inherited;
if Key = ^J then
begin
sbPostDateClick(Sender);
Key := #0;
end;
end;
procedure TEmployEditForm.dbrgCountMethClick(Sender: TObject);
begin
inherited;
case dbrgCountMeth.ItemIndex of
0:begin
dblcExpressions.Enabled:=False;
DBedit6.Enabled:=True;
end;
1:begin
dblcExpressions.Enabled:=False;
DBedit6.Enabled:=False;
end;
2:begin
dblcExpressions.Enabled:=True;
DBedit6.Enabled:=False;
end;
end;
// dblcExpressions.Refresh;
// dbEdit6.Refresh;
end;
procedure TEmployEditForm.FormCreate(Sender: TObject);
begin
inherited;
if GetText=true then
DBEdit6.ReadOnly:=False
else
DBEdit6.ReadOnly:=True;
case DM2.tblEmployCountMeth.Value of
0:begin
dblcExpressions.Enabled:=False;
DBedit6.Enabled:=True;
end;
1:begin
dblcExpressions.Enabled:=False;
DBedit6.Enabled:=False;
end;
2:begin
dblcExpressions.Enabled:=True;
DBedit6.Enabled:=False;
end;
end;
end;
procedure TEmployEditForm.FormKeyPress(Sender: TObject; var Key: Char);
begin
inherited;
if key=#13 then begin
if not (ActiveControl is TDBGrid) then begin
key:=#0;
perform(WM_NEXTDLGCTL,0,0);
end else if (ActiveControl is TDBGrid) then begin
with TDBGrid(ActiveControl) do
if SelectedIndex<(FieldCount-1) then
selectedIndex:=SelectedIndex+1
else selectedIndex:=0;
end;
end;
end;
procedure TEmployEditForm.bbtnConfirmEnter(Sender: TObject);
begin
inherited;
if DBEdit1.Text='' then begin
MessageDlg(Pchar(sEmpCode), mtError, [mbOK], 0);
DBEdit1.SetFocus;
end;
if DBEdit2.Text='' then begin
MessageDlg(Pchar(sEmpNull), mtError, [mbOK], 0);
DBEdit2.SetFocus;
end;
if dbcbDepartment.KeyValue=null then begin
MessageDlg(Pchar(sDepNull), mtError, [mbOK], 0);
dbcbDepartment.SetFocus;
end;
end;
procedure TEmployEditForm.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
inherited;
CanClose := DM2.DataSetApplyUpdates(DM2.tblEmploy, ModalResult = mrOK);
end;
procedure TEmployEditForm.dbcbDepartmentClick(Sender: TObject);
var
EmpCode, aaa:string;
begin
inherited;
if dbcbDepartment.KeyValue<>Null then begin
aaa:=IntTostr(dbcbDepartment.KeyValue);
DM2.qryEmpCode.Close;
DM2.qryEmpCode.Sql.Clear;
DM2.qryEmpCode.Sql.Add('select * from department where DepartmentID=');
DM2.qryEmpCode.Sql.Add(aaa);
DM2.qryEmpCode.Open;
if not DM2.qryEmpCode.Eof then begin
EmpCode:=Trim(Dm2.qryEmpCode.Fields[2].AsString);
aaa:=EmpCode;
EmpCode:=''''+EmpCode+'%'+'''';
DM2.qryEmpCode.Close;
DM2.qryEmpCode.Sql.Clear;
DM2.qryEmpCode.Sql.Add('SELECT int(Max(Mid(EmpCode,2,3))) FROM employ WHERE EmpCode Like ');
DM2.qryEmpCode.Sql.Add(EmpCode);
DM2.qryEmpCode.Open;
if not DM2.qryEmpCode.Eof then begin
EmpCode:=''+'%.'+inttostr(3-length(inttostr(Dm2.qryempcode.Fields[0].AsInteger+1)))+'s'+'';
Dm2.tblEmployEmpCode.Value := aaa+Format(EmpCode+inttostr(Dm2.qryempcode.Fields[0].AsInteger+1),['00000'])
end else
Dm2.tblEmployEmpCode.Value := aaa+'001';
end;
end;
end;
procedure TEmployEditForm.DBLookupComboBox1Click(Sender: TObject);
begin
inherited;
DM2.tblEmployDuty.Value:=DBLookupComboBox1.Text;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -