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