我设计了一个窗体,窗体上有很多控件,我想能不能把Form及其他控件的属性保存到文本文件或数据表中,在运行窗体时动态加载。我看过窗体的dfm文件,他就是把表单及其各个控件的属性保存起来(不过保存的只是控件修改了的属性),我想应该可以实现。这样做的好处是,可以让用户自己修改界面或添加控件,然后将信息保存起来,运行时动态加载即可,给程序增加了极大的灵活性。
真切希望做过这方面的高手能给予指点,也愿意和大家共同研究这个问题。
真切希望做过这方面的高手能给予指点,也愿意和大家共同研究这个问题。
如果把这个东西做好了,是不是就是一个解释器拉?
那就太强拉。有这么多控件呢!
var S: TStream;
begin
S := TFileStream.Create(Filename, fmCreate);
try
Stream.WriteComponent(yourComponent);
finally
S.Free;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
Stream: TStream;
begin
Stream := TFileStream.Create('d:\1.cmm', fmCreate);
for i:=0 to self.ComponentCount-1 do
Stream.WriteComponent(self.Components[i]);
Stream.Free;
end;//调用
procedure TForm1.Button2Click(Sender: TObject);
var Stream: TFileStream;
i:integer;
begin
Stream:= TFileStream.Create('d:\1.cmm', fmOpenRead);
Stream.Position:=0;
for i:=0 to self.ComponentCount-1 do
Stream.ReadComponent(self.Components[i]);
Stream.Free;
end;
经过测试没问题!
我的Email: [email protected]
[email protected]