知识大全 开发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基础教程:开发Delphi对象式数据管理功能(一)[4] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快
DELPHI基础教程:开发Delphi对象式数据管理功能(一)[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快
DELPHI基础教程:开发Delphi对象式数据管理功能(一)[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快
DELPHI基础教程:开发Delphi对象式数据管理功能(二)[4] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快
DELPHI基础教程:开发Delphi对象式数据管理功能(二)[3] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快
DELPHI基础教程:开发Delphi对象式数据管理功能(二)[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快
DELPHI基础教程:开发Delphi对象式数据管理功能(二)[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快
DELPHI基础教程:开发Delphi对象式数据管理功能(三)[4] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快
DELPHI基础教程:开发Delphi对象式数据管理功能(三)[3] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快
DELPHI基础教程:开发Delphi对象式数据管理功能(三)[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快