社区
C++ Builder
帖子详情
如何存窗体上的多个控件和把保存的多个控件读到窗体上
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
打赏
收藏
如何存窗体上的多个控件和把保存的多个控件读到窗体上
TFileStream * stream=new TFileStream("c\\test.smt",fmCreate|fmOpenWrite); stream->WriteComponent(Edit1); delete stream; 这段代码只能写一个edite1到文件 如果我有多个edit1还有IMAGE1那应如何才能全写入文件
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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;
winform实现360、QQ
窗体
与
控件
利用winform的gdi+
控件
实现的QQ
窗体
与
控件
C# IP地址输入
控件
C# IP地址输入
控件
,一个IP
控件
,由C#语言编写,该IP
控件
很好的解决了关于MaskedTextBox显示IP的不足 ,你可以像调用一般
控件
那样来使用它,不用另外编写其它代码,非常方便。
C++ qt5 电子版教程
1.7 多
窗体
调用 18 1.8 字体形状
窗体
20 第三章
控件
应用 1.1 QPushButton按钮 23 1.2 QLabel标签 23 1.3 QLineEdit单行文本 24 1.4 QTextEdit多行文本 25 1.5 QPlainTextEdit多行文本 26 1.6 QComboBox下拉列表框 ...
198个经典C#WinForm实例源码 超赞的完整版
1-
窗体
技巧 2-
控件
操作 3-图像操作 4-报表打印 5-系统操作 6-文件处理 7-网络操作 8-数据库操作 9-加密解密 10-硬件读写 11-游戏设计 "超赞的198个经典C#WinForm实例源码.zip " ~欢迎同学们下载共同学习~
C#
多个
窗体
共享同一个SerialPort
控件
在使用SerialPort
控件
时,能够发现虽然可以把它拖拽到窗口上,但它并不会显示在
窗体
上,而是在
窗体
的下面,这说明此
控件
并不是一个可视化的
控件
,类似的
控件
还有Timer。正是由于SerialPort的这种特性,使得我们可以...
C++ Builder
13,825
社区成员
102,679
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章