哪位大虾来教教我delphi怎么保存组件属性啊?
哪位大虾来教教我怎么保存组件属性啊?就是保存到文件里,需要的时候恢复出来!帮帮忙啊!或者叫着动态保存?
追问:我问了很多人,都说用流来保存,所以你说的很对,不过我是菜鸟不是很懂,可以加我QQ吗,谢谢啦!393206337,,
追问:我问了很多人,都说用流来保存,所以你说的很对,不过我是菜鸟不是很懂,可以加我QQ吗,谢谢啦!393206337,,
答案:这个叫做对象的持久化,序列化,串行化,都是一个意思,翻译不同而已
下面2个函数,将对象以流的形式保存到string里或把string转换为对象。可以将转换后的string写入文件,需要时再读出来。
类似的例子很多,搜一下”Delphi 持久化”或”Delphi 序列化”
使用的前
注册下
RegisterClassesfunctionComponentToStr(AComponent: TComponent): string;
var
BinStream: TMemoryStream;
StrStream: TStringStream;
s: string;
begin
BinStream := TMemoryStream.Create;
try
StrStream := TStringStream.Create(s);
try
BinStream.WriteComponent(AComponent);
BinStream.Seek(0, soFromBeginning);
ObjectBinaryToText(BinStream, StrStream);
StrStream.Seek(0, soFromBeginning);
Result := StrStream.DataString;
finally
StrStream.Free;
end;
finally
BinStream.Free
end;
end;function StrToComponent(constValue: string;
Instance: TComponent): TComponent;
var
StrStream: TStringStream;
BinStream: TMemoryStream;
begin
StrStream := TStringStream.Create(Value);
try
BinStream := TMemoryStream.Create;
try
ObjectTextToBinary(StrStream, BinStream);
BinStream.Seek(0, soFromBeginning);
Result := BinStream.ReadComponent(Instance);
finally
BinStream.Free;
end;
finally
StrStream.Free;
end;
end;
使用ini配置文件,将属性都放进去,每次初始化的时候读取文件内容!
上一个:DELPHI改变其他应用程序中的控件的文本内容
下一个:delphi 使用ics控件如何解压网页返回的gzip数据流!