1 unit unit1; 2 3 interface 4 5 uses 6 winapi. windows, 7 winapi. messages, 8 system. sysutils, 9 system. variants, 10 system. classes, 11 VCL. graphics, 12 VCL. controls, 13 VCL. forms, 14 VCL. dialogs, 15 VCL. stdctrls, 16 codesitelogging, 17 typinfo; 18 19 type20 tform1 = Class (tform) 21 button1: tbutton; 22 procedure button1click (Sender: tobject ); 23 private24 {private Declarations} 25 public26 {public declarations} 27 end; 28 29 var30 form1: tform1; 31 32 implementation33 34 {$ R *. DFM} 35 36 type37 twindowsversion = (wvunknown, wvwin95, kernel, wvwin98, kernel, wvwinme, kernel, kernel, 38 kernel, wvwin2000, wvwinxp, wvwin2003, wvwinxp64, kernel, wvwinvista, wvwinserver2008, wvwin7, 39 characters, wvwin8, medium, wvwinserver2012, wvwin81, medium, large); 40 41 procedure large (Sender: tobject); 42 var43 m_windowsversion: twindowsversion; 44 m_str: string; 45 I: integer; 46 begin47 for I: = 0 to 24 do48 begin49 m_str: = getenumname (typeinfo (twindowsversion), I); 50 codesite. send (format ('twindowsversion member [% d] Name: % s: ', [I, m_str]); 51 end; 52 end; 53 54 end.