知识大全 开发Delphi对象式数据管理功能(一)[5]

Posted

篇首语:锲而舍之,朽木不折;锲而不舍,金石可镂。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 开发Delphi对象式数据管理功能(一)[5]相关的知识,希望对你有一定的参考价值。

DELPHI基础教程:开发Delphi对象式数据管理功能(一)[5]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  ⑵ Write方法

  Write方法从内存流内部缓冲池的当前位置开始写入二进制数据 其实现如下

  function TMemoryStream Write(const Buffer; Count: Longint) Longint;

  var

  Pos: Longint;

  begin

  if (FPosition >= ) and (Count >= ) then

  begin

  Pos := FPosition + Count;

  if Pos > then

  begin

  if Pos > FSize then

  begin

  if Pos > FCapacity then

  SetCapacity(Pos)

  FSize := Pos;

  end;

  System Move(Buffer Pointer(Longint(FMemory) + FPosition)^ Count)

  FPosition := Pos;

  Result := Count;

  Exit;

  end;

  end;

  Result := ;

  end;

  Buffer中存储要写入流的二进制数据 如果要写入的数据的字节超出了流的内存池的大小 则调用SetCapacity方法再分配内存 然后用内存复制函数将Buffer中的数据复制到FMemory中 接着移动位置指针 并返回写入数据的字节数 分析这段程序可以知道 FCapacity的值和FSize的值是不同的

  ⑶ Clear方法

  Clear方法消除内存流中的数据 将Memory属性置为nil 并将FSize和FPosition 的值设为 其实现如下

  procedure TMemoryStream Clear;

  begin

  SetCapacity( )

  FSize := ;

  FPosition := ;

  end;

  ⑷ LoadFromStream和LoadFromFile方法

  LoadFromStream方法首先根据传入的Stream的Size属性值重新分配动态内存 然后调用Stream的ReadBuffer方法往FMemory中复制数据 结果Stream的全部内容在内存中有了一份完整拷贝 其实现如下

  procedure TMemoryStream LoadFromStream(Stream: TStream)

  var

  Count: Longint;

  begin

  Stream Position := ;

  Count := Stream Size;

  SetSize(Count)

  if Count <> then Stream ReadBuffer(FMemory^ Count)

  end;

  LoadFromFile与LoadFromStream是一对方法 LoadFromFile首先创建了一个TFileStream对象 然后调用LoadFromStream方法 将FileStream文件流中的数据写入MemoryStream中

  返回目录 DELPHI基础教程

       编辑推荐

       Java程序设计培训视频教程

       J EE高级框架实战培训视频教程

  Visual C++音频/视频技术开发与实战

  Oracle索引技术

  ORACLE G数据库开发优化指南

  Java程序性能优化 让你的Java程序更快 更稳定

  C嵌入式编程设计模式

  Android游戏开发实践指南

cha138/Article/program/Delphi/201311/25108

相关参考

知识大全 开发Delphi对象式数据管理功能(一)[4]

DELPHI基础教程:开发Delphi对象式数据管理功能(一)[4]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快

知识大全 开发Delphi对象式数据管理功能(一)[2]

DELPHI基础教程:开发Delphi对象式数据管理功能(一)[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快

知识大全 开发Delphi对象式数据管理功能(一)[1]

DELPHI基础教程:开发Delphi对象式数据管理功能(一)[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快

知识大全 开发Delphi对象式数据管理功能(二)[4]

DELPHI基础教程:开发Delphi对象式数据管理功能(二)[4]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快

知识大全 开发Delphi对象式数据管理功能(二)[3]

DELPHI基础教程:开发Delphi对象式数据管理功能(二)[3]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快

知识大全 开发Delphi对象式数据管理功能(二)[2]

DELPHI基础教程:开发Delphi对象式数据管理功能(二)[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快

知识大全 开发Delphi对象式数据管理功能(二)[1]

DELPHI基础教程:开发Delphi对象式数据管理功能(二)[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快

知识大全 开发Delphi对象式数据管理功能(三)[4]

DELPHI基础教程:开发Delphi对象式数据管理功能(三)[4]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快

知识大全 开发Delphi对象式数据管理功能(三)[3]

DELPHI基础教程:开发Delphi对象式数据管理功能(三)[3]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快

知识大全 开发Delphi对象式数据管理功能(三)[2]

DELPHI基础教程:开发Delphi对象式数据管理功能(三)[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快