开发Delphi对象式数据管理功能(三)Delphi教程

上传人:s9****2 文档编号:513067519 上传时间:2023-05-10 格式:DOC 页数:3 大小:29.50KB
返回 下载 相关 举报
开发Delphi对象式数据管理功能(三)Delphi教程_第1页
第1页 / 共3页
开发Delphi对象式数据管理功能(三)Delphi教程_第2页
第2页 / 共3页
开发Delphi对象式数据管理功能(三)Delphi教程_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《开发Delphi对象式数据管理功能(三)Delphi教程》由会员分享,可在线阅读,更多相关《开发Delphi对象式数据管理功能(三)Delphi教程(3页珍藏版)》请在金锄头文库上搜索。

1、开发 Delphi 对象式数据管理功能(三)Delphi 教程对象的属性和方法1. Root属性声明: property Root: TComponent; Root属性给 Filer对象指出被读写的对象中哪一个对象是根或主要拥有者。RootComponent和 WriteRootComponent 方法在读和写部件及其拥有的部件前先设置Root 的值。2. Ancestor属性声明: property Ancestor: TPersistent; Ancestor属性用于往继承下来的窗体中写部件,因为当写部件时, Write对象只需要写入与所继承的部件不同的属性,所以在写之前要跟踪每个继承的

2、部件,并且比较它们的属性。如果Ancestor 为 nil,就表示没有相应的继承的部件,Writer对象应当将部件完全写入流。 Ancestor 一般为 nil ,只有当调用 WriteDescendant 和WriteDescendantRes 时,才给赋值。当编写和覆盖DefineProperties时,必须设置 Ancestor 的值。3. IgnoreChildren属性声明: propertyIgnorechildren: Boolean;IgnoreChildren属性使一个 Writer 对象存储部件时可以不存储该部件拥有的部件。如果IgnoreChildren属性为 True,

3、则Writer 对象存储部件不存它拥有的子部件。否则,Writer 对象将所有其拥有的对象写入流。4. Create方法声明: constructor Create(Stream:TStream; BufSize: Cardinal);Create 方法创建一个新的 Filer对象,建立它和流 Stream 的联系;并且给它分配一个缓冲区Buffer 。Buffer的大小由BufSize 指定。5. Defineproperty方法声明: procedureDefineproperty(const Name: String; ReadData: TReaderProc; WriteData:T

4、WriterProc; HasData: Boolean); virtual; abstract; Defineproperty方法定义 Filer 对象将作为属性存储的数据。 Name参数描述接受的属性名,该属性不在 published 部分定义。 ReadData和 WriteData 参数指定在存取对象时读和写所需数据的方法。 HasData 参数在运行时决定了属性是否有数据要存储。只有当对象有数据要存储时,才在该对象的 DefineProperties 中调用 DefineProperty 。DefineProperties 有一个 Filer 对象作为它的参数,调用的就是该 File

5、r 对象的 DefineProperty 和 DefineBinaryProperty 方法。当定义属性时, Writer 对象应当引用 Ancestor 属性,如果该属性非空, Writer 对象应当只写入与从Ancestor 继承的不同的属性的值。一个最简单的例子是TComponent的 DefineProperties方法。尽管 TComponent 没有在 published中定义Left、Top 属性,但该方法存储了部件的位置信息。procedureTComponent.DefineProperties(Filer:TFiler);beginFiler.DefineProperty(

6、Left, ReadLeft, WriteLeft,LongRec(FDesignInfo).Lo 0);Filer.DefineProperty(Top, ReadTop,WriteTop, LongRec(FDesignInfo).Hi 0);end;6. DefineBinaryproperty方法声明: procedure DefineBinaryproperty(const Name: String;ReadData, WriteData: TStreamProc; HisData: Boolean); virtual;abstract; DefineBinaryProperty方法定义 Filer对象作为属性存储的二进制数据。 Name参数描述属性名。 ReadData和 WriteData 参数描述所存储的对象中读写所需数据的方法。 HasData 参数在运行时决定属性是否有数据要存。 DefineBinaryProperty 和 DefineProperty 方法的不同之处在于,二进制型的属性直接用 Stream 对象读写,而不是通过 Filer 对象。通过 ReadData 和 WriteData

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 演讲稿/致辞

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号