按名称设置属性值

时间:2013-01-16 06:59:58

标签: delphi properties rtti

在Delphi类中,我有一些属性,我想通过按名称访问它们来设置它们。 现在我使用例如Settings.AllowSysop := True;

我想做Settings('AllowSysop').Value := True;

之类的事情

这样做的原因是,在设置我的用户可以访问的内容时,会从许可文件中读取该文件,其中从文件中读取的行(类似于INI但加密的)可能看起来像

AllowSysop = True

我知道这是一些必须要制作的RTTI外观代码,但我无法弄明白。

我认为如果可能的话,这对我来说会更容易。

希望解释有意义

1 个答案:

答案 0 :(得分:14)

implementation
uses TypInfo;
{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
   if IsPublishedProp (Button1, 'Visible') then
    begin
      SetPropValue (Button1, 'Visible',false);
    end;

end;