• 回答数

    2

  • 浏览数

    233

宾格砖家
首页 > 考试培训 > delphi培训

2个回答 默认排序
  • 默认排序
  • 按时间排序

虎呆呆漫步

已采纳

⑵ 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游戏开发实践指南

delphi培训

340 评论(13)

Oo棉花糖小鱼o0

Sybase和MicroSoft SQL Server数据库

在建立Sybase或MicroSorft SQL Server的SQL Link时除了需要下列文件外 应用程序还需要Sybase数据库管理系统的客户端的连接产品与网络协议接口

表 建立Sybase数据库的SQL Link所需的文件

━━━━━━━━━━━━━━━━━━━━━━━━━━━

文件名  描 述

───────────────────────────

SQLD_SS DLL  BDE SQL Link for Sybase的驱动程序

SQLD_SS HLP  联机帮助文件

SQL_SS CNF  Sybase驱动程序的BDE配置文件

W DBLIB DLL  Sybase/MC SQL Server客户端的DLL文件

DBNMP DLL  Sybase/MC SQL Server客户端的DLL文件

SYDC LD  Sybase语言驱动程序

SYDC LD  Sybase语言驱动程序

━━━━━━━━━━━━━━━━━━━━━━━━━━━

Informix数据库

在建立Informix的SQL Link时除了需要下列文件外 应用程序还需要Informix数据库管理系统的客户端的连接产品与网络协议接口

表 建立Informix 数据库的SQL Link所需的文件

━━━━━━━━━━━━━━━━━━━━━━━━━━━

文件名   描 述

───────────────────────────

SQLD_ss DLL  BDE SQL Link for Informix的驱动程序

SQLD_INF HLP  联机帮助文件

SQL_INF CNF  Informix驱动程序的BDE配置文件

LDLLSQLW DLL  Informix客户端的DLL文件

ISAM IEM  Informix错误信息文件

OS IEM  Informix错误信息文件

RDS IEM  Informix错误信息文件

SECURITY IEM  Informix错误信息文件

SQL IEM  Informix错误信息文件

━━━━━━━━━━━━━━━━━━━━━━━━━━━

InterBase 数据库

在建立InterBase的SQL Link时除了需要下列文件外 应用程序还需要InterBase数据库管理系统的客户端的连接产品与网络协议接口

表 建立InterBase数据库的SQL Link所需的文件

━━━━━━━━━━━━━━━━━━━━━━━━━━━

文件名   描 述

───────────────────────────

SQLD_IB DLL  BDE SQL Link for InterBase的驱动程序

SQLD_IB HLP  联机帮助文件

SQL_IB CNF  InterBase驱动程序的BDE配置文件

CONNECT EXE  InterBase连接测试诊断工具

CONNECT HLP  InterBase连接测试诊断工具的帮助文件

GDS DLL  InterBase API DLL

REMOTE DLL  InterBase与网络的接口的DLL文件

INTERBASE MSG  InterBase错误信息文件

━━━━━━━━━━━━━━━━━━━━━━━━━━━

返回目录 DELPHI基础教程

编辑推荐

Java程序设计培训视频教程

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

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

Oracle索引技术

ORACLE G数据库开发优化指南

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

C嵌入式编程设计模式

Android游戏开发实践指南

107 评论(14)

相关问答