如何存窗体上的多个控件和把保存的多个控件读到窗体上

oyzm 2002-07-26 10:09:38
TFileStream * stream=new TFileStream("c\\test.smt",fmCreate|fmOpenWrite);
stream->WriteComponent(Edit1);
delete stream;
这段代码只能写一个edite1到文件
如果我有多个edit1还有IMAGE1那应如何才能全写入文件
...全文
39 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
caomeng2002 2002-09-06
  • 打赏
  • 举报
回复
当然有些控件如MEMO你的用类似下面的函数读回,我就是这么做的
先定义
TMemo *me=TMemo(this);
在把me放在函数中
void StringToComponent1(TComponent* Component,const AnsiString& Value)
{


TStringStream* ss;
TMemoryStream* ms;

ss = new TStringStream(Value);
try
{
ms = new TMemoryStream;
try
{
ObjectTextToBinary(ss, ms);
ms->Position = 0;
ms->ReadComponent(Component);
}
__finally
{
delete ms;
}
}
__finally
{
delete ss;
}
}

caomeng2002 2002-09-06
  • 打赏
  • 举报
回复
请看这俩个函数
AnsiString CToString(TComponent *c)
{
TMemoryStream* ms;
TStringStream* ss;
ss = new TStringStream(" ");
ms = new TMemoryStream;
try{
ms->WriteComponent(c);
ms->Position = 0;
ObjectBinaryToText(ms, ss);
ss->Position = 0;
return ss->DataString;
}
__finally
{
delete ms;
delete ss;
}
return ss->DataString;
}
//---------------------------------------------------------------------------
TComponent* StringToComponent(AnsiString as)
{
TMemoryStream* pms = new TMemoryStream();

TStringStream* pss = new TStringStream(as);
TComponent *pc;

try
{
ObjectTextToBinary(pss, pms);
pms->Seek(0, soFromBeginning);
}
catch(...)
{
ShowMessage("Streaming error.");
}
pc = pms->ReadComponent(NULL);
delete pms;
delete pss;
return pc;

}
关键是用流ReadComponent和WriteComponent枚举窗体上的控件保存成string 再从STRING 到COMPONENT。
oyzm 2002-07-31
  • 打赏
  • 举报
回复
没人会吗?
oyzm 2002-07-30
  • 打赏
  • 举报
回复
ReadComponent每次操作只能读一个控件,如果我文件中存了很多控件怎么办?
kingcaiyao 2002-07-30
  • 打赏
  • 举报
回复
WriteComponent
ReadComponent
oyzm 2002-07-30
  • 打赏
  • 举报
回复
如何读这些控件到窗体上啊?
oyzm 2002-07-30
  • 打赏
  • 举报
回复
帮我
zbc 2002-07-26
  • 打赏
  • 举报
回复
TFileStream *stream = new TFileStream("C:\\test.smt",fmcreate|fmOpenWrite);
for(int i = 0;i<=this->Components->Count -1;i++)
stream->WriteComponent(this->Components[i]);
delete stream;

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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