Delphi_流操作的语法.doc

  1. 1、本文档共50页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Delphi_流操作的语法

谈 Delphi 编程中“流”的应用 陈经韬 什么是流?流,简单来说就是建立在面向对象基础上的一种抽象的处理数据的工具。在流 中,定义了一些处理数据的基本操作,如读取数据,写入数据等,程序员是对流进行所有操作 的,而不用关心流的另一头数据的真正流向。流不但可以处理文件,还可以处理动态内存、网 络数据等多种数据形式。如果你对流的操作非常熟练,在程序中利用流的方便性,写起程序会 大大提高效率的。 下面,笔者通过四个实例:EXE 文件加密器、电子贺卡、自制 OICQ 和网络屏幕传输来说明 Delphi 编程中“流”的利用。这些例子中的一些技巧曾经是很多软件的秘密而不公开的,现在大 家可以无偿的直接引用其中的代码了。 “万丈高楼平地起”,在分析实例之前,我们先来了解一下流的基本概念和函数,只有在理解 了这些基本的东西后我们才能进行下一步。请务必认真领会这些基本方法。当然,如果你对它 们已经很熟悉了,则可以跳过这一步。 一、Delphi 中流的基本概念及函数声明 在 Delphi 中,所有流对象的基类为 TStream 类,其中定义了所有流的共同属性和方法。 TStream 类中定义的属性介绍如下: 1、Size:此属性以字节返回流中数据大小。 2、Position:此属性控制流中存取指针的位置。 Tstream 中定义的虚方法有四个: 1、Read:此方法实现将数据从流中读出。函数原形为: Function Read(var Buffer?Count:Longint):Longint?virtual?abstract? 参数 Buffer 为数据读出时放置的缓冲区,Count 为需要读出的数据的字节数,该方法返回值为 实际读出的字节数,它可以小于或等于 Count 中指定的值。 2、Write:此方法实现将数据写入流中。函数原形为: Function Write(var Buffer?Count:Longint):Longint?virtual?abstract? 参数 Buffer 为将要写入流中的数据的缓冲区,Count 为数据的长度字节数,该方法返回值为实 际写入流中的字节数。 3、Seek:此方法实现流中读取指针的移动。函数原形为: Function Seek(Offset:Longint?Origint:Word):Longint?virtual?abstract? 参数 Offset 为偏移字节数,参数 Origint 指出 Offset 的实际意义,其可能的取值如下: soFromBeginning:Offset 为移动后指针距离数据开始的位置。此时 Offset 必须大于或者等于零。 soFromCurrent:Offset 为移动后指针与当前指针的相对位置。 soFromEnd:Offset 为移动后指针距离数据结束的位置。此时 Offset 必须小于或者等于零。该方 法返回值为移动后指针的位置。 4、Setsize:此方法实现改变数据的大小。函数原形为: Function Setsize(NewSize:Longint)?virtual? 另外,TStream 类中还定义了几个静态方法: 1、ReadBuffer:此方法的作用是从流中当前位置读取数据。函数原形为: Procedure ReadBuffer(var Buffer?Count:Longint)? 参数的定义跟上面的 Read 相同。注意:当读取的数据字节数与需要读取的字节数不相同时, 将产生 EReadError 异常。 2、WriteBuffer:此方法的作用是在当前位置向流写入数据。函数原形为: Procedure WriteBuffer(var Buffer?Count:Longint)? 参数的定义跟上面的 Write 相同。注意:当写入的数据字节数与需要写入的字节数不相同时, 将产生 EWriteError 异常。 3、CopyFrom:此方法的作用是从其它流中拷贝数据流。函数原形为: Function CopyFrom(Source:TStream?Count:Longint):Longint? 参数 Source 为提供数据的流,Count 为拷贝的数据字节数。当 Count 大于 0 时,CopyFrom 从 Source 参数的当前位置拷贝 Count 个字节的数据;当 Count 等于 0 时,CopyFrom 设置 Source 参数的 Position 属性为 0,然后拷贝 Source 的所有数据; TStream 还有其它派生类,其中最常用的是 TFileStream 类。使用 TFileStream 类来存取文件, 首先要建立一个实例。声明如下: constructor C

文档评论(0)

文档精品 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6203200221000001

1亿VIP精品文档

相关文档