2013-01-16 224 views
7

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

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

这样做的原因是,设置什么我的用户可以访问,这是从那里从文件中读取行的许可文件读取时(它就像一个INI但加密的)可能看起来像

AllowSysop = True 

我知道这是一些RTTI的样子像我这种情况必须进行代码,但我不能完全弄清楚。

我认为这会让我更容易,如果这是可能的。

希望的解释是决策意识

+0

所有你的价值观是布尔? – jachguate

回答

14
implementation 
uses TypInfo; 
{$R *.dfm} 

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

end; 
+1

这比预期的要简单一点 - 谢谢 – OZ8HP