This example shows how to use the built-in component streaming support to convert any component into a string and convert that string back into a component.function ComponentToString(Component: TComponent): string;var
BinStream:TMemoryStream;
StrStream: TStringStream;
s: string;
begin
BinStream := TMemoryStream.Create;
try
StrStream := TStringStream.Create(s);
try
BinStream.WriteComponent(Component);
BinStream.Seek(0, soFromBeginning);
ObjectBinaryToText(BinStream, StrStream);
StrStream.Seek(0, soFromBeginning);
Result:= StrStream.DataString;
finally
StrStream.Free; end;
finally
BinStream.Free
end;
end;function StringToComponent(Value: string): 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(nil); finally
BinStream.Free;
end;
finally
StrStream.Free;
end;
end;
BinStream:TMemoryStream;
StrStream: TStringStream;
s: string;
begin
BinStream := TMemoryStream.Create;
try
StrStream := TStringStream.Create(s);
try
BinStream.WriteComponent(Component);
BinStream.Seek(0, soFromBeginning);
ObjectBinaryToText(BinStream, StrStream);
StrStream.Seek(0, soFromBeginning);
Result:= StrStream.DataString;
finally
StrStream.Free; end;
finally
BinStream.Free
end;
end;function StringToComponent(Value: string): 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(nil); finally
BinStream.Free;
end;
finally
StrStream.Free;
end;
end;
解决方案 »
- delphi 7 调试器 用不了啊
- DELPHI对VB开发ERP软件,各有什么优势?(CS结构)
- 怎样在form中用程序删除表?
- 我把“ ”存入prodax数据库会变成|的问题!
- 100分!各位大哥救命!query+dbgrideh在我开发用的机子上一切正常,而到别的机子上却提取不出数据
- 请问怎么样去掉TTREEVIEW里的水平与垂直滚动条?
- 挑战性的问题:能不能实现在局域网(全为win98)上,一台机器能够访问到另一台机器未设为共享的文件,并且可以任意改写?
- D6出过补丁吗?
- 请大家帮帮我!!
- 关于batchmove的问题要请教各位
- Access数据库加了密码就连接不上?50分
- 简单问题,大家来拿分啊,怎样获得txt文件中字符的数目???
1,能存储的对象是从TComponent派生的,如果直接从TObject派生行吗?
2,能预先知道确定的大小吗?我想定一个固定的结构