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

📄 uservo.pas

📁 随便说说最近项目中的三层架构吧。讲点实际的东西。我最讨厌空讲道理。网上讲道理的太多了
💻 PAS
字号:
unit UserVO;

interface

uses
  Windows, Classes, SysUtils,  Dialogs, DB, Contnrs, Variants, ValueObjectUnit,
  TValueObjectListUnit;

type

  PTUserVO =^ TUserVO;
  TUserVO = class(TValueObject)
    private
      id: string;
      name: string;
      password: string;

      procedure setUserID(pid :String);
      function  getUserID: String;
      procedure setUserName(pName :String);
      function  getUserName: String;
      procedure setPassword(pPwd :String);
      function  getPassword: String;

    protected
      function  GetOLEData: OleVariant; override;
      procedure SetOLEData(Value: OleVariant); override;
      function GetVOObject(value: OleVariant): TValueObject; override;

    published
      property pID: String read getUserID write setUserID;
      property pName: String read getUserName write setUserName;
      property pPwd: String read getPassword write setPassword;
      property POLEData:OleVariant read GetOLEData write SetOLEData;
      

  end;

  PTUserVOList =^ TUserVOList;
  TUserVOList=Class(TValueObjectList)
    public      constructor Create; override;      procedure AfterConstruction; override;
      destructor Destroy; override;   end;

implementation

procedure TUserVO.setUserID(pid :String);
begin
  id := pid;
end;

function  TUserVO.getUserID: String;
begin
  Result := id;
end;

procedure TUserVO.setUserName(pName :String);
begin
  name := pName;
end;

function  TUserVO.getUserName: String;
begin
  Result := name;
end;

procedure TUserVO.setPassword(pPwd :String);
begin
  password := pPwd;
end;

function  TUserVO.getPassword: String;
begin
  Result := password;
end;

function  TUserVO.GetOLEData: OleVariant;
var
  tmpOle : OleVariant;
begin
  tmpOle := VarArrayCreate([0,4], varVariant);
  tmpOle[0] := pPrimarykey;
  tmpOle[1] := pID;
  tmpOle[2] := pName;
  tmpOle[3] := pPwd;
  tmpOle[4] := pRowVersion;

  Result := VarArrayCreate([0,1], varVariant);
  Result[0] := Inherited GetOleData;
  Result[1] := tmpOle;
end;

procedure TUserVO.SetOLEData(Value: OleVariant);
var
  tmpOle : OleVariant;
begin
  if VarIsArray(Value) then
  begin    inherited SetOleData(Value[0]);    tmpOle := Value[1];    pPrimarykey := tmpOle[0];    pID := tmpOle[1];    pName := tmpOle[2];    pPwd := tmpOle[3];    pRowVersion := tmpOle[4];  end;
end;

function TUserVO.GetVOObject(value: OleVariant): TValueObject;
var
  tmpVO: TValueObject;
begin
  tmpVO := TValueObject.Create;
  tmpVO.POLEData := value;
  Result := tmpVO;
end;

constructor TUserVOList.Create;
begin
  inherited Create;
end;

procedure TUserVOList.AfterConstruction;
begin
  inherited;
end;

destructor TUserVOList.Destroy;
begin
  inherited;
end;


end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -