流對象基類TStream

来源:互联网 发布:软件安全 编辑:程序博客网 时间:2024/05/01 04:08

流对象基类TStream 继承于 TObject; 抽象类;

组件对象可以作为流方法中的参数进行传递;

文件对象可以通过流自动创建和关联;

 

包含的继承类有:

1. TFileStream

2. TStringStream

3. TMemoryStream

4. TBlobStream

5. TWinSocketStream

6. TOleStream

7. THandleStream

 

属性:

1. property Position: Int64;

读写流时的偏移位置(单位:Byte);

2. property Size: Int64;

流的大小(单位:Byte);

 

方法:

1. function CopyFrom(Source: TStream; Count: Int64): Int64;

复制指定字节数到另外一个Stream.

2. function Read(var Buffer; Count: Longint): Longint; virtual; abstract;

读流数据;抽象的,纯虚方法;

读 Count bytes 到 Buffer 中; 返回实际读取的 byte 数.

3. procedure ReadBuffer(var Buffer; Count: Longint);

从流中读数据到 Buffer 中;实际上是调用的 Read 方法;

读取异常时, 引发EReadError.

4. function ReadComponent(Instance: TComponent): TComponent;

调用的是全局方法: ReadComponentRes.

从流中读取数据分配给实例的属性;返回组件;如果组件为nil , 会构建一个实例;

5. function ReadComponentRes(Instance: TComponent): TComponent;

从资源文件格式流中读取组件和它的属性;

自动调用全局方法 :function ReadComponentResFile(const FileName: string; Instance: TComponent): TComponent;

6. function Seek(Offset: Longint; Origin: Word): Longint; overload; virtual;

function Seek(const Offset: Int64; Origin: TSeekOrigin): Int64; overload
; virtual;
虚方法;  移动到流的指定位置; 返回新的位置;

Origin : 起点, 有值: soFromBeginning, soFromCurrent,  soFromEnd .

7. procedure SetSize(NewSize: Longint); overload; virtual;
procedure SetSize(const NewSize: Int64); overload; virtual;

设置流资源的大小;

8. function Write(const Buffer; Count: Longint): Longint; virtual; abstract;

向流中写数据;

9.procedure WriteBuffer(const Buffer; Count: Longint);

把指定大小的数据写到流中;调用 Write方法;

10. procedure WriteComponent(Instance: TComponent);

把组件和其属性写到流中;

11. procedure WriteComponentRes(const ResName: string; Instance: TComponent);

把资源文件格式中的数据写到流中;

 

 

 

 

 

 

 

 

原创粉丝点击