ex8.pp 627 B

12345678910111213141516171819202122232425262728
  1. program example8;
  2. { This program demonstrates the SetToString function }
  3. {$mode objfpc}
  4. uses rttiobj,typinfo;
  5. Var
  6. O : TMyTestObject;
  7. PI : PPropInfo;
  8. Const
  9. ConstSet = 'mefirst,methird';
  10. Var
  11. S : TMyEnums;
  12. begin
  13. O:=TMyTestObject.Create;
  14. O.SetField:=[mefirst,meSecond,meThird];
  15. PI:=GetPropInfo(O,'SetField');
  16. Writeln('SetToString (brackets) : ',SetToString(Pi,Integer(O.SetField),True));
  17. Writeln('SetToString (default) : ',SetToString(Pi,Integer(O.SetField)));
  18. O.SetField:=TMyEnums(StringToSet(PI,ConstSet));
  19. Writeln('Stringtoset : ',SetToString(PI,Integer(O.SetField)));
  20. O.Free;
  21. end.