⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 etyuser.pas

📁 数据库封装原代码 1. 该代码可以免费使用, 该代码的名字暂时定为"哲别" 2. 如果你需要使用该代码, 请注明该代码的原来作者: Jacky Zhou 3. 如果你发现该代码有bug,可以自己修改
💻 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 + -