Delphi 流操作(2)基本概念及函数声明
2012-01-26 23:47
405 查看
前面一章我们知道了什么流,而在今天这章里我们就来看看“流”的基本概念及函数声明
在我们的Delphi中,所有的流对象可以的基类为Tstream类,其中定义了所有流的共同属性和方法具的的方法和属性如下:
TStream类中定义的属性如下:
1.Size:这个属性以字节的形式返回流中的数据大小;
2.Position:这个属性可是控制流中存取指针的位置;
这里我们引用万一里的一例子:
Tstream中定义了四个虚拟方法:
1.Read:这个方法的作用是将流中的数据读取出来。它的原型为:
2.Write:这个方法和上面的那个是相反的,这个是将数据写入流中,它的原型为:
3.Seek:这个方法可以很方便的实现流中读取指针的移动,函数的原型:
今天先写这么多,有时间再写!
在我们的Delphi中,所有的流对象可以的基类为Tstream类,其中定义了所有流的共同属性和方法具的的方法和属性如下:
TStream类中定义的属性如下:
1.Size:这个属性以字节的形式返回流中的数据大小;
2.Position:这个属性可是控制流中存取指针的位置;
这里我们引用万一里的一例子:
var mStream:TStream;{声明一个流对象} procedureTForm1.FormCreate(Sender:TObject); begin mStream:=TMemoryStream.Create; {TStream是抽象类,只能通过其子类实例化;这里我们用了内存流来生成实例} Memo1.Lines.Text:='ABCDEFGHIJKLMNOPQRSTUVWXYZ'; {给Memo1个初始值} end; procedureTForm1.Button1Click(Sender:TObject); begin Memo1.Lines.SaveToStream(mStream);{把Memo1中的内容写入到流} ShowMessage(IntToStr(mStream.Size));//这里我们可以用这个Size属性来查看这个流的具体大小是多少这里的大小是26!!!因为是二十六个字母!!! ShowMessage(IntToStr(mStream.Position));{26,当前流的指针} end; procedureTForm1.Button2Click(Sender:TObject); begin mStream.Position:=4;{调整流的当前指针位置}//这里我们用到了Position这个属性来控制从流的哪个位置来装载数据; Memo2.Lines.LoadFromStream(mStream);{读出流中的内容到Memo2} { 现在Memo2中的内容应该是:EFGHIJKLMNOPQRSTUVWXYZ 如果Position是0,Memo2读出的内容会是:ABCDEFGHIJKLMNOPQRSTUVWXYZ 如果Position等于Size,在这里如果是26,Memo2就读不出什么了. } end; procedureTForm1.FormDestroy(Sender:TObject); begin mStream.Free;{流释放时,所用内存当然也会同时释放} end; end.
Tstream中定义了四个虚拟方法:
1.Read:这个方法的作用是将流中的数据读取出来。它的原型为:
FunctionRead(VarBuffer;Count:Longint):Longint;virtual;abstract;
//参数1:Buffer这个是存放数据的缓冲区。
//参数2:Count这个是需要读出来的数据的字节数
//*注意:这个方法的返回值为实际读出的字节数,字可以小于或是等于Count中指定的值;
2.Write:这个方法和上面的那个是相反的,这个是将数据写入流中,它的原型为:
FunctionWrite(VarBuffer;Count:Longint):Longint;virtual;abstract;
//参数1:Buffer这个是为将要写入流中的数据的缓冲区。
//参数2:Count为数据升序的字节数
//*注意:这个方法的返回值为实际写入的字节数,字可以小于或是等于Count中指定的值;
3.Seek:这个方法可以很方便的实现流中读取指针的移动,函数的原型:
FunctionSeek(Offset:Longint;Origint:Word):Longint;virtual;abstract;
//参数1:为偏移字节数,他的参数Origint指出Offset的实际意义,其可能的取值下面三个
(1)soFromBeginning:Offset为移动后指针距离开始位置。此时的Offset必须大于或等于0;
(2)soFromCurrent:Offset为移动指针与当前指针的相对位置;
(3)soFromEnd:Offset为移动后指针距离数据结束的位置。此时的Offset必须小于或等于0.该方法返回值为移动后指针的位置;
//参数2:Count这个是需要读出来的数据的字节数
今天先写这么多,有时间再写!
相关文章推荐
- C语言基本概念笔记《七》之文件及操作文件的常用函数
- 几个基本概念:成员函数,函数声明,函数原型,函数定义
- Delphi中流的基本概念及函数声明
- C-015.函数的基本概念、定义、调用、返回值、参数和声明
- *Delphi字符串的基本操作与常用函数
- 文件一些基本操作函数
- C/C++编写dll动态链接库使用操作与非基本类型参数声明错误(2)
- Oracle数据库的概念(权限、角色)以及各种操作(创建表空间、创建表、查询、更新、删除、插入)和常用函数
- 【机器学习入门】Andrew NG《Machine Learning》课程笔记之二 :基本概念、代价函数、梯度下降和线性回归
- Delphi 的内存操作函数(2): 给数组指针分配内存
- Java中一些基本的数学类操作函数及注意事项
- 单链表的19种基本操作 函数,末尾添加元素
- Tensorflow一些常用基本概念与函数(1)
- 第31课 Python列表的基本操作使用与常用函数
- Python类型转换+序列操作+基本概念辨析速查手册
- Delphi中关于文件、目录操作的函数
- 了解Objective-C中Selector基本概念和操作
- 学习笔记(二)JavaScript基本概念(语法,数据类型,控制语句,函数)
- 从概念到示例—Oracle操作函数
- Tensorflow一些常用基本概念与函数(1)