知识大全 开发Delphi对象式数据管理功能(三)[4]

Posted 部件

篇首语:不要等待机会,而要创造机会。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 开发Delphi对象式数据管理功能(三)[4]相关的知识,希望对你有一定的参考价值。

DELPHI基础教程:开发Delphi对象式数据管理功能(三)[4]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  WriteChar方法用于写入字符

  procedure riter WriteChar(Value: Char)

  begin

  WriteString(Value)

  end;

  字符类型的读写是用读写字符串的方法 在读的时候 判断字节数为 时 则为字符型

  ⑶ 部件的写入

  riter对象中与写入部件有关的方法有WriteSignature WritePrefix WriteComponent WriteDescendant和WriteRootComponent

  WriteSignature方法用于往流中写入Filer对象标签

  procedure riter WriteSignature;

  begin

  Write(FilerSignature SizeOf(FilerSignature))

  end;

  FilerStgnature是字符串常量 其值为 TPF 代表对象标签

  WritePrefix方法用于在写入部件前写入ffInherited和ffChildPos标志 这些标志表示部件的继承特征和创建序值特征

  procedure riter WritePrefix(Flags: TFilerFlags; AChildPos: Integer)

  var

  Prefix: Byte;

  begin

  if Flags <> [] then

  begin

  Prefix := $F or Byte(Flags)

  Write(Prefix SizeOf(Prefix))

  if ffChildPos in Flags then WriteInteger(AChildPos)

  end;

  end;

  如果ffChildPos置位 则存入部件在Owner中的创建序值 更详细的信息请参阅TReader的ReadPrefix方法

  WriteComponent方法往流中写入部件

  procedure riter WriteComponent(Component: TComponent)

  function FindAncestor(const Name: string) TComponent;

  begin

  …

  end;

  begin

  Include(Component FComponentState csWriting)

  if Assigned(FAncestorList) then

  Ancestor := FindAncestor(Component Name)

  Component WriteState(Self)

  Exclude(Component FComponentState csWriting)

  end;

  方法中用Component的WritState方法写入部件的属性 在写入之前将Component FComponentState置为csWriting写入完后再将csWriting复位

  WriteDescendant是根据祖先AAncestor的情况写入部件Root

  procedure riter WriteDescendent(Root: TComponent; AAncestor: TComponent)

  begin

  FRootAncestor := AAncestor;

  FAncestor := AAncestor;

  FRoot := Root;

  WriteSignature;

  WriteComponent(Root)

  end;

  方法先调用WriteSignature方法写入Filer对象标签 然后调用WriteComponent将部件Root写入流

  WriteRootComponent方法则是调用WriteDescendant方法写入部件 只是将后者的Ancestor参数以nil值传入

  procedure riter WriteRootComponent(Root: TComponent)

  begin

  WriteDescendent(Root nil)

  end;

  返回目录 DELPHI基础教程

       编辑推荐

       Java程序设计培训视频教程

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

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

  Oracle索引技术

  ORACLE G数据库开发优化指南

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

  C嵌入式编程设计模式

  Android游戏开发实践指南

cha138/Article/program/Delphi/201311/25099

相关参考

知识大全 开发Delphi对象式数据管理功能(三)[2]

DELPHI基础教程:开发Delphi对象式数据管理功能(三)[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快

知识大全 开发Delphi对象式数据管理功能(三)[1]

DELPHI基础教程:开发Delphi对象式数据管理功能(三)[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快

知识大全 开发Delphi对象式数据管理功能(二)[4]

DELPHI基础教程:开发Delphi对象式数据管理功能(二)[4]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快

知识大全 开发Delphi对象式数据管理功能(一)[4]

DELPHI基础教程:开发Delphi对象式数据管理功能(一)[4]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快

知识大全 开发Delphi对象式数据管理功能(四)[4]

DELPHI基础教程:开发Delphi对象式数据管理功能(四)[4]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快

知识大全 开发Delphi对象式数据管理功能(五)[4]

DELPHI基础教程:开发Delphi对象式数据管理功能(五)[4]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快

知识大全 开发Delphi对象式数据管理功能(一)[3]

DELPHI基础教程:开发Delphi对象式数据管理功能(一)[3]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快

知识大全 开发Delphi对象式数据管理功能(一)[5]

DELPHI基础教程:开发Delphi对象式数据管理功能(一)[5]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快

知识大全 开发Delphi对象式数据管理功能(一)[2]

DELPHI基础教程:开发Delphi对象式数据管理功能(一)[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快

知识大全 开发Delphi对象式数据管理功能(一)[1]

DELPHI基础教程:开发Delphi对象式数据管理功能(一)[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快