uservo.pas
来自「随便说说最近项目中的三层架构吧。讲点实际的东西。我最讨厌空讲道理。网上讲道理的太」· PAS 代码 · 共 137 行
PAS
137 行
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 + =
减小字号Ctrl + -
显示快捷键?