Z
zensst
Unregistered / Unconfirmed
GUEST, unregistred user!
http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=244027
满了,回答不了。
好象TStream有直接的方法,看看源码.
function ReadComponent(Instance: TComponent): TComponent;
function ReadComponentRes(Instance: TComponent): TComponent;
procedure WriteComponent(Instance: TComponent);
procedure WriteComponentRes(const ResName: string; Instance: TComponent);
procedure WriteDescendent(Instance, Ancestor: TComponent);
procedure WriteDescendentRes(const ResName: string; Instance, Ancestor: TComponent);
请原谅,我最近在全力完成作图的程序。具体没试过,但Delphi的代码中,
很多地方用到上面的方法。
另外一个办法就是:自己定义一种格式。先将每个Component分别存在在
TStream中,也可一个一个的来,用一个头数据块保存它们(TStream)的
大小,然后顺序写到一个Stream中。读的时候,根据头数据块来分开,一个
一个的还原。
比如:
TNCHead=record //每个Component
StreamState: DWORD; //在Stream中的状态,是否完成等
FPointer, FSize: Integer; //地址偏移和大小
end;
TNCListHead=record //Components List
HeadSize: Integer; //头数据块的大小
StreamState: DWORD;
FCount, FSize, FPointer: Integer; //保存Component的数据区信息
XCount, XSize, XPointer: Integer; //其它辅助信息
CheckSum: array[0..31] of Byte;
end;
这可是我的好东西中间的重点之一啊!
满了,回答不了。
好象TStream有直接的方法,看看源码.
function ReadComponent(Instance: TComponent): TComponent;
function ReadComponentRes(Instance: TComponent): TComponent;
procedure WriteComponent(Instance: TComponent);
procedure WriteComponentRes(const ResName: string; Instance: TComponent);
procedure WriteDescendent(Instance, Ancestor: TComponent);
procedure WriteDescendentRes(const ResName: string; Instance, Ancestor: TComponent);
请原谅,我最近在全力完成作图的程序。具体没试过,但Delphi的代码中,
很多地方用到上面的方法。
另外一个办法就是:自己定义一种格式。先将每个Component分别存在在
TStream中,也可一个一个的来,用一个头数据块保存它们(TStream)的
大小,然后顺序写到一个Stream中。读的时候,根据头数据块来分开,一个
一个的还原。
比如:
TNCHead=record //每个Component
StreamState: DWORD; //在Stream中的状态,是否完成等
FPointer, FSize: Integer; //地址偏移和大小
end;
TNCListHead=record //Components List
HeadSize: Integer; //头数据块的大小
StreamState: DWORD;
FCount, FSize, FPointer: Integer; //保存Component的数据区信息
XCount, XSize, XPointer: Integer; //其它辅助信息
CheckSum: array[0..31] of Byte;
end;
这可是我的好东西中间的重点之一啊!