Comprensione degli helper di classe (e record) di Delphi introduce una funzionalità del linguaggio Delphi che consente di estendere la definizione di una classe o di un tipo di record aggiungendo funzioni e procedure (metodi) a classi e record esistenti senza ereditarietà.
Nella versione XE3 Delphi, gli helper di record sono diventati più potenti consentendo di estendere semplici tipi Delphi come stringhe, numeri interi, enumerazioni, set e simili.
L'unità System.SysUtils, di Delphi XE3, implementa un record chiamato "TStringHelper" che in realtà è un supporto per le stringhe.
Utilizzando Delphi XE3 è possibile compilare e utilizzare il codice successivo:
var s: stringa; inizio s: = 'Delphi XE3'; s.Replace ('XE3', 'rules', []). ToUpper; fine;
Perché ciò sia possibile, è stato realizzato un nuovo costrutto in Delphi "record helper for [simple type]". Per le stringhe, si tratta di "digitare TStringHelper = record helper per stringa". Il nome indica "record helper" ma non si tratta di estendere i record - piuttosto di estendere tipi semplici come stringhe, numeri interi e simili.
In System and System.SysUtils ci sono altri helper di record predefiniti per tipi semplici, tra cui: TSingleHelper, TDoubleHelper, TExtendedHelper, TGuidHelper (e alcuni altri). Puoi ottenere dal nome il tipo semplice che l'helper estende.
Ci sono anche alcuni utili aiutanti open source, come TDateTimeHelper.
Anche le enumerazioni e i set trattati come tipi semplici ora (in XE3 e oltre) possono essere estesi con funzionalità che un tipo di record può avere: funzioni, procedure e simili.
Ecco una semplice enumerazione ("TDay") e un supporto per i record: