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

📄 ddocstore.pas

📁 KSDev.BlockEngine.v3.03.rar 界面控件
💻 PAS
字号:
unit ddocstore;

{$I be_define.inc}

interface

uses Classes, ddoc;

procedure LoadBlockDocument(Stream: TStream; BlockDocument: TComponent);
procedure SaveBlockDocument(Stream: TStream; BlockDocument: TComponent);

procedure LoadBlockDocumentBinary(Stream: TStream; BlockDocument: TComponent);
procedure SaveBlockDocumentBinary(Stream: TStream; BlockDocument: TComponent);

implementation {===============================================================}


procedure SaveBlockDocument(Stream: TStream; BlockDocument: TComponent);
var
  BinStream: TMemoryStream;
  StrStream: TStringStream;
  s: string;
begin
  if BlockDocument = nil then Exit;

  BinStream := TMemoryStream.Create;
  try
    StrStream := TStringStream.Create(S);
    try
      BinStream.WriteComponent(BlockDocument);
      BinStream.Seek(0, soFromBeginning);
      ObjectBinaryToText(BinStream, StrStream);
      StrStream.Seek(0, soFromBeginning);
      Stream.CopyFrom(StrStream, StrStream.Size);
    finally
      StrStream.Free;
    end;
  finally
    BinStream.Free
  end;
end;

procedure LoadBlockDocument(Stream: TStream; BlockDocument: TComponent);
var
  StrStream: TStringStream;
  BinStream: TMemoryStream;
begin
  { Load object }
  StrStream := TStringStream.Create('');
  try
    StrStream.CopyFrom(Stream, Stream.Size);
    StrStream.Seek(0, soFromBeginning);
    
    BinStream := TMemoryStream.Create;
    try
      ObjectTextToBinary(StrStream, BinStream);
      BinStream.Seek(0, soFromBeginning);

      BinStream.ReadComponent(BlockDocument);
    finally
      BinStream.Free;
    end;
  finally
    StrStream.Free;
  end;
end;

procedure SaveBlockDocumentBinary(Stream: TStream; BlockDocument: TComponent);
begin
  Stream.WriteComponent(BlockDocument);
end;

procedure LoadBlockDocumentBinary(Stream: TStream; BlockDocument: TComponent);
begin
  Stream.ReadComponent(BlockDocument);
end;

end.

⌨️ 快捷键说明

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