Although the core focus of Delphi XE4 is clearly on iOS development, there are some nice features for all of the platforms, including Win32. One of these features is the support for more intrinsic type helpers, like the TStringHelper for the string type that was introduced in Delphi XE3. Delphi XE4 adds quite a few helpers for native language data types, like Integers and Doubles.
Here is a screen shot of the editor with some slightly unusual Delphi code (although the same could be obtained in Delphi XE3 adding a custom helper):
And here is the list of the intrinsic type helpers, available in the SyUtils unit:
SysUtils.pas(3352): TGuidHelper = record helper for TGUID SysUtils.pas(3856): TStringHelper = record helper for string SysUtils.pas(3984): TSingleHelper = record helper for Single SysUtils.pas(4048): TDoubleHelper = record helper for Double SysUtils.pas(4112): TExtendedHelper = record helper for Extended SysUtils.pas(4176): TByteHelper = record helper for Byte SysUtils.pas(4198): TShortIntHelper = record helper for ShortInt SysUtils.pas(4220): TSmallIntHelper = record helper for SmallInt SysUtils.pas(4242): TWordHelper = record helper for Word SysUtils.pas(4264): TCardinalHelper = record helper for Cardinal { for LongWord type too } SysUtils.pas(4286): TIntegerHelper = record helper for Integer { for LongInt type too } SysUtils.pas(4308): TInt64Helper = record helper for Int64 SysUtils.pas(4330): TUInt64Helper = record helper for UInt64 SysUtils.pas(4352): TNativeIntHelper = record helper for NativeInt SysUtils.pas(4379): TNativeUIntHelper = record helper for NativeUInt SysUtils.pas(4405): TBooleanHelper = record helper for Boolean SysUtils.pas(4416): TByteBoolHelper = record helper for ByteBool SysUtils.pas(4427): TWordBoolHelper = record helper for WordBool SysUtils.pas(4438): TLongBoolHelper = record helper for LongBool
Notice that while you can replace these helpers with your own, there is no way to extend them with extra methods. Replacing the default helpers is not really suggested, although it is clearly possible. A workaround is to introduce a new name for one of these data types, and add a helper for the new "clone" type. In general, we consider intrinsic helpers as a low-level feature, subject to future implementation changes.