怎么才能将控制的属性名称与值保存起来,然后在窗体启动时读出再设置
如何才能将控制的属性名称与值保存起来,然后在窗体启动时读出再设置?
我想将控件(也包括窗体)的属性与值保存到文件中,然后再读出来,在需要时读出动态设置。
如果只是将属性值保存起来,在动态设置时我需要先判断此属性的名称然后才能改变值,但是我想还属性的名称也做成动态的,请问怎么才能做到呢
------解决方案--------------------
把这些设置的属性存在ini文件中
运行的时候再从ini文件中读取,保存设置的时候也存入ini文件,十分方便
tt:tinifiles;
tt:=tinifiles.create;
with tt do
begin
s1:=readstring('','','');
end;
------解决方案--------------------
没分了,所以只好多搞了下,代码也给出来吧
function TForm1.GetObjProList(Obj: TObject): TStrings;
var
ii,iCount: Integer;
pl: PPropList;
pti: PPTypeInfo;
sName,sValue: String;
begin
Result := TStringList.Create;
iCount := GetPropList(Obj,pl);
for ii := 0 to iCount - 1 do
begin
pti := pl[ii].PropType;
sName := pl[ii].Name;
sValue := GetPropValue(Obj,sName,True);
Result.Add(Format('%s=%s',[sName,sValue]));
end;
end;
procedure TForm1.Button3Click(Sender: TObject);
var
sl: TStrings;
begin
sl := GetObjProList(Edit1);
ShowMessage(sl.Text);
sl.Free;
end;
我想将控件(也包括窗体)的属性与值保存到文件中,然后再读出来,在需要时读出动态设置。
如果只是将属性值保存起来,在动态设置时我需要先判断此属性的名称然后才能改变值,但是我想还属性的名称也做成动态的,请问怎么才能做到呢
------解决方案--------------------
把这些设置的属性存在ini文件中
运行的时候再从ini文件中读取,保存设置的时候也存入ini文件,十分方便
tt:tinifiles;
tt:=tinifiles.create;
with tt do
begin
s1:=readstring('','','');
end;
------解决方案--------------------
没分了,所以只好多搞了下,代码也给出来吧
function TForm1.GetObjProList(Obj: TObject): TStrings;
var
ii,iCount: Integer;
pl: PPropList;
pti: PPTypeInfo;
sName,sValue: String;
begin
Result := TStringList.Create;
iCount := GetPropList(Obj,pl);
for ii := 0 to iCount - 1 do
begin
pti := pl[ii].PropType;
sName := pl[ii].Name;
sValue := GetPropValue(Obj,sName,True);
Result.Add(Format('%s=%s',[sName,sValue]));
end;
end;
procedure TForm1.Button3Click(Sender: TObject);
var
sl: TStrings;
begin
sl := GetObjProList(Edit1);
ShowMessage(sl.Text);
sl.Free;
end;