ex18.pp 777 B

123456789101112131415161718192021222324252627282930313233
  1. program example18;
  2. { This program demonstrates the SetToString function }
  3. {$mode objfpc}
  4. uses rttiobj,typinfo;
  5. Var
  6. O : TMyTestObject;
  7. PI : PPropInfo;
  8. I : longint;
  9. begin
  10. O:=TMyTestObject.Create;
  11. PI:=GetPropInfo(O,'SetField');
  12. O.SetField:=[mefirst,meSecond,meThird];
  13. I:=GetOrdProp(O,PI);
  14. Writeln('Set property to string : ');
  15. Writeln('Value : ',SetToString(PI,I,False));
  16. O.SetField:=[mefirst,meSecond];
  17. I:=GetOrdProp(O,PI);
  18. Writeln('Value : ',SetToString(PI,I,True));
  19. I:=StringToSet(PI,'mefirst');
  20. SetOrdProp(O,PI,I);
  21. I:=GetOrdProp(O,PI);
  22. Writeln('Value : ',SetToString(PI,I,False));
  23. I:=StringToSet(PI,'[mesecond,methird]');
  24. SetOrdProp(O,PI,I);
  25. I:=GetOrdProp(O,PI);
  26. Writeln('Value : ',SetToString(PI,I,True));
  27. O.Free;
  28. end.