usnapshot.pas
来自「Delphi面向对象编程思想附书源码 好用哦!」· PAS 代码 · 共 46 行
PAS
46 行
unit uSnapshot;
interface
uses SysUtils, mtReaper,classes;
type
ISnapshot=interface
['{FA256FA8-211F-462D-890B-FC0EB6096AD8}']
procedure Restore;
end;
TSnapshot=class(TInterfacedObject,ISnapshot)
private
FOriginal:TPersistent;
FTarget:TPersistent;
FReaper:ImtReaper;
public
constructor Create(Target:TPersistent);
destructor Destroy;override;
procedure Restore;
end;
implementation
constructor TSnapshot.create(Target:TPersistent);
begin
FOriginal:=TPersistent(Target.classType.create);
FReaper:=TmtReaper.create(FOriginal);
FTarget:=Target;
FOriginal.Assign(Target);
end;
destructor TSnapshot.Destroy;
begin
restore;
Inherited;
end;
procedure TSnapshot.Restore;
begin
if FTarget<>nil then
FTarget.Assign(FOriginal);
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?