?? frmperson.pas
字號:
unit frmPerson;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, Mask, DBCtrls, Grids, DBGrids,
System.ComponentModel;
type
TNowDataStatus=set of (ndsNormal,ndsAppend,ndsModify);
type
TPersonForm = class(TForm)
panChild: TPanel;
cmdClose: TButton;
grbPersonInfo: TGroupBox;
txtAddress: TDBEdit;
lblPersonAddress: TLabel;
lblPersonBaseSalary: TLabel;
txtBaseSalary: TDBEdit;
txtTel: TLabel;
txtTelephone: TDBEdit;
txtBornDate: TLabel;
lblWorkDate: TLabel;
lblPersonJob: TLabel;
lblPersonDepartment: TLabel;
lblPersonID: TLabel;
txtPersonID: TDBEdit;
txtPersonName: TDBEdit;
lblPersonName: TLabel;
lblPersonPassword: TLabel;
lblPersonSex: TLabel;
lblOther1: TLabel;
txtOther1: TDBEdit;
lblOther2: TLabel;
txtOther2: TDBEdit;
cmdAdd: TButton;
cmdModify: TButton;
cmdDelete: TButton;
grbMemo: TGroupBox;
txtMemo: TDBMemo;
grbPersonList: TGroupBox;
grdPersonList: TDBGrid;
txtWorkDate: TEdit;
txtBirthday: TEdit;
txtSex: TDBComboBox;
cboDepartment: TDBLookupComboBox;
cboJob: TDBLookupComboBox;
txtPassword: TEdit;
procedure cmdCloseClick(Sender: TObject);
procedure cmdAddClick(Sender: TObject);
procedure cmdModifyClick(Sender: TObject);
procedure cmdDeleteClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure grdPersonListMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure panChildResize(Sender: TObject);
private
{ Private declarations }
NowDataStatus:TNowDataStatus;
procedure ChangeDisplayStatus(AValue:TNowDataStatus);
procedure RefreshControl;
public
{ Public declarations }
end;
var
PersonForm: TPersonForm;
implementation
uses mdDataBases, frmOperator, Common;
{$R *.dfm}
procedure TPersonForm.ChangeDisplayStatus(AValue: TNowDataStatus);
begin
if AValue=[ndsNormal] then
begin
grbPersonInfo.Enabled:=False;
txtPassword.Enabled:=True;
grbMemo.Enabled:=False;
cmdAdd.Caption:='添加(&A)';
cmdModify.Caption:='修改(&M)';
cmdClose.Caption:='關(guān)閉';
cmdAdd.Enabled:=True;
cmdModify.Enabled:=True;
cmdDelete.Enabled:=True;
PersonForm.NowDataStatus:=[ndsNormal];
end;
if AValue=[ndsAppend] then
begin
grbPersonInfo.Enabled:=True;
grbMemo.Enabled:=True;
txtPassword.Enabled:=True;
txtWorkDate.Text:=DateTimeToStr(Date);
txtBirthday.Text:='';
cmdAdd.Caption:='保存(&S)';
cmdClose.Caption:='取消';
cmdModify.Enabled:=False;
cmdDelete.Enabled:=False;
PersonForm.NowDataStatus:=[ndsAppend];
end;
if AValue=[ndsModify] then
begin
grbPersonInfo.Enabled:=True;
grbMemo.Enabled:=True;
txtPassword.Enabled:=False;
cmdModify.Caption:='保存(&S)';
cmdClose.Caption:='取消';
cmdAdd.Enabled:=False;
cmdDelete.Enabled:=False;
PersonForm.NowDataStatus:=[ndsModify];
end;
end;
procedure TPersonForm.cmdCloseClick(Sender: TObject);
begin
if PersonForm.NowDataStatus=[ndsNormal] then
begin
panChild.Parent :=PersonForm;
PersonForm.Close;
end
else
begin
PersonForm.ChangeDisplayStatus([ndsNormal]);
dmDataSource.tblPerson.Cancel;
dmDataSource.tblPerson.CancelUpdates;
end;
end;
procedure TPersonForm.cmdAddClick(Sender: TObject);
begin
if PersonForm.NowDataStatus=[ndsNormal] then
begin
ChangeDisplayStatus([ndsAppend]);
dmDataSource.tblPerson.Append;
end
else
begin
ChangeDisplayStatus([ndsNormal]);
dmDataSource.tblPerson['PERSON_PASSWORD']:=Base64Encode(Trim(txtPassword.Text));
dmDataSource.tblPerson['PERSON_BIRTHDAY']:=strToDateTime(txtBirthday.Text);
dmDataSource.tblPerson['PERSON_WORKDATE']:=strToDateTime(txtWorkDate.Text);
dmDataSource.tblPerson.Post;
dmDataSource.tblPerson.ApplyUpdates;
end;
end;
procedure TPersonForm.cmdModifyClick(Sender: TObject);
begin
if PersonForm.NowDataStatus=[ndsNormal] then
begin
dmDataSource.tblPerson.Edit;
ChangeDisplayStatus([ndsModify]);
end
else
begin
ChangeDisplayStatus([ndsNormal]);
dmDataSource.tblPerson['PERSON_BIRTHDAY']:=strToDateTime(txtBirthday.Text);
dmDataSource.tblPerson['PERSON_WORKDATE']:=strToDateTime(txtWorkDate.Text);
dmDataSource.tblPerson.Post;
dmDataSource.tblPerson.ApplyUpdates;
end;
end;
procedure TPersonForm.cmdDeleteClick(Sender: TObject);
var
strDeleteConfimInfo:string;
intResult:Integer;
begin
strDeleteConfimInfo:='真的刪除員工"'+
Trim(dmDataSource.tblPerson['PERSON_NAME'])+'"嗎?';
intResult:=MessageBox(Application.Handle,pchar(strDeleteConfimInfo),
'確認',32+4);
if intResult=mrYes then
begin
dmDataSource.tblPerson.Delete;
end;
end;
procedure TPersonForm.FormCreate(Sender: TObject);
begin
PersonForm.ChangeDisplayStatus([ndsNormal]);
end;
procedure TPersonForm.RefreshControl;
begin
if dmDataSource.tblPerson.RecordCount>0 then
begin
txtWorkDate.Text:=DateTimeToStr(dmDataSource.tblPerson['PERSON_WORKDATE']);
txtBirthday.Text:=DateTimeToStr(dmDataSource.tblPerson['PERSON_BIRTHDAY']);
txtPassword.Text:=dmDataSource.tblPerson['PERSON_PASSWORD'];
end;
end;
procedure TPersonForm.grdPersonListMouseUp(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
RefreshControl;
end;
procedure TPersonForm.panChildResize(Sender: TObject);
begin
RefreshControl;
end;
end.
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -