📄 etyuser.pas
字号:
unit EtyUser;
interface
uses
SysUtils, Entity;
const
ENTITY_NAME = 'EtyUser';
FD_USER_NAME = 'UserName';
FD_ADDRESS = 'Address';
FD_AGE = 'Age';
type
TEtyUser = class(TInterfacedObject, IEntity)
private
strUserName: String;
strAddress: String;
nAge: integer;
IsIdChanged : Boolean;
IsUserNameChanged : Boolean;
IsAddressChanged : Boolean;
IsAgeChanged : Boolean;
m_bIsClearValue : boolean;
public
constructor Create() overload;
function GetEntityName() : String;
function GetAttributeValue(strAttributeName : String) : Variant;
procedure SetAttributeValue(strAttributeName : String; varAttributeValue : Variant);
function IsAttributeChanged(strAttributeName : String) : Boolean;
procedure SetChangedFlag(bFlag : Boolean);
procedure ClearValue();
function IsClearValue() : boolean;
end;
PTEtyUser = ^TEtyUser;
implementation
//-----------------------------------------------------------------------------
// Create
//-----------------------------------------------------------------------------
constructor TEtyUser.Create();
begin
inherited Create;
ClearValue;
end;
//-----------------------------------------------------------------------------
// GetEntityName
//-----------------------------------------------------------------------------
function TEtyUser.GetEntityName() : String;
begin
Result := ENTITY_NAME;
end;
//-----------------------------------------------------------------------------
// SetAttributeValue
//-----------------------------------------------------------------------------
procedure TEtyUser.SetAttributeValue(strAttributeName : String; varAttributeValue : Variant);
begin
strAttributeName := LowerCase(strAttributeName);
if (strAttributeName = LowerCase(FD_USER_NAME)) then
begin
strUserName := varAttributeValue;
IsUserNameChanged := true;
end
else if (strAttributeName = LowerCase(FD_ADDRESS)) then
begin
strAddress := varAttributeValue;
IsAddressChanged := true;
end
else if (strAttributeName = LowerCase(FD_AGE)) then
begin
nAge := varAttributeValue;
IsAgeChanged := true;
end;
end;
//-----------------------------------------------------------------------------
// GetAttributeValue
//-----------------------------------------------------------------------------
function TEtyUser.GetAttributeValue(strAttributeName : String) : Variant;
var
varAttributeValue : Variant;
begin
strAttributeName := LowerCase(strAttributeName);
if (strAttributeName = LowerCase(FD_USER_NAME)) then
varAttributeValue := strUserName
else if (strAttributeName = LowerCase(FD_ADDRESS)) then
varAttributeValue := strAddress
else if (strAttributeName = LowerCase(FD_AGE)) then
varAttributeValue := nAge;
Result := varAttributeValue;
end;
//-----------------------------------------------------------------------------
// IsAttributeChanged
//-----------------------------------------------------------------------------
function TEtyUser.IsAttributeChanged(strAttributeName : String) : Boolean;
var
bIsChanged : Boolean;
begin
strAttributeName := LowerCase(strAttributeName);
if (strAttributeName = LowerCase(FD_USER_NAME)) then
bIsChanged := IsUserNameChanged
else if (strAttributeName = LowerCase(FD_ADDRESS)) then
bIsChanged := IsAddressChanged
else if (strAttributeName = LowerCase(FD_AGE)) then
bIsChanged := IsAgeChanged
else
bIsChanged := false;
Result := bIsChanged;
end;
//-----------------------------------------------------------------------------
// SetChangedFlag
//-----------------------------------------------------------------------------
procedure TEtyUser.SetChangedFlag(bFlag : Boolean);
begin
IsIdChanged := bFlag;
IsUserNameChanged := bFlag;
IsAddressChanged := bFlag;
IsAgeChanged := bFlag;
end;
//-----------------------------------------------------------------------------
// ClearValue
//-----------------------------------------------------------------------------
procedure TEtyUser.ClearValue();
begin
strUserName := '';
strAddress := '';
nAge := 0;
SetChangedFlag(false);
end;
//-----------------------------------------------------------------------------
// IsClearValue
//-----------------------------------------------------------------------------
function TEtyUser.IsClearValue() : boolean;
begin
result := m_bIsClearValue;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -