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

📄 s2.tools.ts2field.pas

📁 轉載的程序應用框架
💻 PAS
字号:
unit S2.Tools.TS2Field;

interface

uses
  S2.Tools.TS2Object, S2.Tools.IS2Field, S2.Core.IS2Cloneable, S2.Tools.IS2DictItem;

type
  TS2Field = class(TS2Object, IS2Field, IS2Cloneable, IS2DictItem)
  private
    FieldName: string;
    FieldCaption: string;
    _IsClone: Boolean;
    function GetVariantValue: Variant;
  public  //  S2.Tools.IS2Field
    function GetFieldCatpion: string; virtual;
    function GetFieldName: string; virtual;
    procedure SetFieldCapion(const FieldCaption: string); virtual;
    procedure SetFieldName(const FieldName: string); virtual;
    function GetValueAsObject: TS2Object; virtual;
    procedure SetValueAsObject(O: TS2Object); virtual;        
  public  //  S2.Core.IS2Cloneable
    function Clone: IS2Cloneable; virtual;
    function IsClone: Boolean; virtual;
  public  // S2.Core.TS2Object
    function GetObjectName: string; override;
    function GetCaption: string; override;
    function ToString: string; override;
    function IsActive: Boolean; override;
    function IsValid: Boolean; override;    
  public
    function GetName: string; virtual;
    function GetObject: TObject; virtual;  
  public
    constructor Create;
  end;

implementation

uses
  S2.Error.S2AbstractException;

{ TS2Field }

function TS2Field.Clone: IS2Cloneable;
var
  NewObject: TS2Field;
begin
  NewObject := TS2Field.Create;
  NewObject.FieldName := FieldName;
  NewObject.FieldCaption := FieldCaption;
  NewObject._IsClone := True;
  Result := NewObject;
end;

constructor TS2Field.Create;
begin
  _IsClone := False;
end;

function TS2Field.GetCaption: string;
begin
  Result := ClassName;
end;

function TS2Field.GetFieldCatpion: string;
begin
  Result := FieldCaption;
end;

function TS2Field.GetFieldName: string;
begin
  Result := FieldName;
end;

function TS2Field.GetName: string;
begin
  Result := FieldName;
end;

function TS2Field.GetObject: TObject;
begin
  Result := Self;
end;

function TS2Field.GetObjectName: string;
begin
  Result := ClassName;
end;

function TS2Field.GetValueAsObject: TS2Object;
begin
  raise S2AbstractException.Create(ClassName, 'GetValueAsObject');
end;

function TS2Field.GetVariantValue: Variant;
begin
  raise S2AbstractException.Create(ClassName, 'GetVariantValue');
end;

function TS2Field.IsActive: Boolean;
begin
  Result := True;
end;

function TS2Field.IsClone: Boolean;
begin
  Result := _IsClone;
end;

function TS2Field.IsValid: Boolean;
begin
  Result := True;
end;

procedure TS2Field.SetFieldCapion(const FieldCaption: string);
begin
  Self.FieldName := FieldCaption;
end;

procedure TS2Field.SetFieldName(const FieldName: string);
begin
  Self.FieldName := FieldName;
end;

procedure TS2Field.SetValueAsObject(O: TS2Object);
begin

end;

function TS2Field.ToString: string;
begin
  Result := GetCaption;
end;

end.

⌨️ 快捷键说明

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