对象怎么保存到文件和数据库中?

zhuxianguo 2005-05-31 04:14:11
对象怎么保存到文件和数据库中,在delphi中有没有像哈希表类似的数据结构?
对象保存到好像是要用到对象序列化,反序列化,但不知道具体如何做?
...全文
178 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhuxianguo 2005-06-03
  • 打赏
  • 举报
回复
delphi上的帮助介绍:
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;
lextm 2005-06-02
  • 打赏
  • 举报
回复
使用序列化可以保存到XML文件里面.可以看一些XML的书.
仙侣步惊云 2005-06-02
  • 打赏
  • 举报
回复
我觉得应该使用流
xixuemao 2005-06-02
  • 打赏
  • 举报
回复
对啊,在C++里面实现序列化非常简单,用Delphi不太清楚,学习。。。。。
flexitime 2005-06-02
  • 打赏
  • 举报
回复
在2003年的《程序员》杂志中侯捷先生有连续两期的文章,对这个问题进行讨论题目好像叫什么"C++永续之道"或者差不多这个意思太久了记不清。
里面虽然讲的是C++,但Delphi也是一样的。
如果你有时间,看看候先生的〈深入浅出MFC〉也有讲到的!
Delphi的话好像李维先生的那本VCL也谈到一些,但个人认为不及候先生写得好.
zhuxianguo 2005-06-02
  • 打赏
  • 举报
回复
失望!
zhuxianguo 2005-05-31
  • 打赏
  • 举报
回复
我感觉楼上的做法不可取,如果只是几个简单的属性还可以
但是如果属性很复杂,就不行了
redmoon_line 2005-05-31
  • 打赏
  • 举报
回复
把它的属性记录下来,到时一create就OK了
,不可以保存成流,我也试过
giveusomecolor 2005-05-31
  • 打赏
  • 举报
回复
关注`````````

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧