知识大全 开发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基础教程:开发Delphi对象式数据管理功能(三)[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快
DELPHI基础教程:开发Delphi对象式数据管理功能(三)[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快
DELPHI基础教程:开发Delphi对象式数据管理功能(二)[4] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快
DELPHI基础教程:开发Delphi对象式数据管理功能(一)[4] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快
DELPHI基础教程:开发Delphi对象式数据管理功能(四)[4] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快
DELPHI基础教程:开发Delphi对象式数据管理功能(五)[4] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快
DELPHI基础教程:开发Delphi对象式数据管理功能(一)[3] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快
DELPHI基础教程:开发Delphi对象式数据管理功能(一)[5] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快
DELPHI基础教程:开发Delphi对象式数据管理功能(一)[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快
DELPHI基础教程:开发Delphi对象式数据管理功能(一)[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快