2013-01-16 6 views
7

In una classe Delphi ho alcune proprietà che vorrei impostare accedendole con il loro nome. Ora io uso per es. Settings.AllowSysop := True;Impostazione del valore della proprietà per nome

che vorrei fare qualcosa di simile Settings('AllowSysop').Value := True;

La ragione di questo è che quando si imposta quello che i miei utenti possono accedere a questo viene letto da un file di licenza in cui la linea di lettura dal file (è come un INI ma criptato) potrebbe essere simile

AllowSysop = True 

so che è un po 'RTTI look-un-come codice che deve essere fatto, ma non riesco a capirlo.

Penso che per me sarebbe un po 'più semplice se fosse possibile.

auguro che la spiegazione è dare un senso

+0

Tutti i tuoi valori sono booleano? – jachguate

risposta

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

Questo è stato un po 'più semplice del previsto - grazie – OZ8HP