【delphi开源代码栏目提醒】:文章导读:在新的一年中,各位网友都进入紧张的学习或是工作阶段。网学会员整理了delphi开源代码-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:='关闭';
cmdAdd.Enabled:=True;
cmdModify.Enabled:=True;
cmdDelete.Enabled:=True;
PersonForm.NowDataStatus:=[ndsNormal];
end;
if AValue=[ndsAppend] then
begin
grbPersonInfo.Enabled:=True;
grbMemo.Enabled:=True;
txtPass
word.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.tblPers