首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

Delphi界面封存成XML文件

2012-08-11 
Delphi界面保存成XML文件求助:我在Delphi环境下,设计了一个用户界面,从Object TreeView中可以看出,Delphi

Delphi界面保存成XML文件
求助:我在Delphi环境下,设计了一个用户界面,从Object TreeView中可以看出,Delphi的界面元素是以树状结构来排列的,所以我要将设计好的界面保存成XML文件,之后需要的时候读入该XML文件,就解析成相对应的Form界面。请高手指教,网上的我找了,但是很多比较模糊,请大家帮忙,最好给个Demo,谢谢...

[解决办法]
就是用RTTI获取、设置控件的属性,你看一下RTTI怎么用就知道了。
[解决办法]
可以看看这个http://2ccc.com/article.asp?articleid=3541
[解决办法]
delphi的form界面可以直接保持为dfm格式的,也可以直接读取dfm格式
为什么一定要xml?

如果一定要为xml而xml,实际上dfm的文本格式转为xml也是很简单的,因为dfm的存储就是类似树的层次模式的
[解决办法]
要动太设置属性吗》?还是布局,直接编写代码,生成XML保存即可,相反拿到XML再动态创建控件即可。
[解决办法]
参考NativeXml当中的Example:ObjectToXml
[解决办法]
jvcl套件里有可以负责保存窗体的控件,还不错,可以存成xml、ini或者注册表都可以,只是xml的解码稍微有点儿弱,可以自己再改进一下
如果协议允许或者你压根不care协议的话,可以直接拿去用

[解决办法]
不知道下面的对你有没有帮助,你可以看看 

Delphi(Pascal) code
procedure SaveFormInfo(Form : TForm);var   ms : TMemoryStream;begin   ms := TMemoryStream.Create;   try     ms.WriteComponent(Form);     ms.Position := 0;     ms.SaveToFile('Form.data');   finally     ms.Free;   end;end;procedure CreateNewForm(Form: TForm);var   ms : TMemoryStream;   NewForm : TForm;begin   ms := TMemoryStream.Create;   try     ms.Clear;     ms.LoadFromFile('Form.data');     NewForm := TFormClass(Form.ClassType).CreateNew(Application);     ms.ReadComponent(NewForm);     NewForm.Left := Form.Left + 10;     NewForm.Top := Form.Top + 10;     NewForm.Show;   finally     ms.Free;   end;end;procedure TForm1.Button1Click(Sender: TObject);begin  CreateNewForm(Form1);end; 

热点排行