Delphi Record Helpers per set (e altri tipi semplici)

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.

Enumerazioni? Helper per enumerazioni?

set di enumerazioni

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: