Delphi Record Helpers pentru seturi (și alte tipuri simple)

Înțelegerea Delphi Class (and Record) Helpers introduce o caracteristică a limbii Delphi care vă permite să extindeți definiția unei clase sau a unui tip de înregistrare adăugând funcții și proceduri (metode) la clasele și înregistrările existente fără moștenire..

În versiunea XE3 Delphi, asistenții de înregistrare au devenit mai puternici, permițând extinderea tipurilor Delphi simple precum șiruri, numere întregi, enume, seturi și deopotrivă.

Unitatea System.SysUtils, de la Delphi XE3, implementează o înregistrare numită "TStringHelper", care este de fapt un ajutor de înregistrare pentru șiruri.

Folosind Delphi XE3 puteți compila și utiliza următorul cod:

var s: șir; începe s: = 'Delphi XE3'; s.Replace ('XE3', 'rules', []). ToUpper; Sfârșit; 

Pentru ca acest lucru să fie posibil, în Delphi a fost realizat un „record helper pentru [tip simplu]”. Pentru șiruri, acesta este "tip TStringHelper = înregistrare ajutor pentru șir". Numele menționează „record helper”, dar nu este vorba despre extinderea înregistrărilor - mai degrabă despre extinderea tipurilor simple precum șiruri, întregi și deopotrivă.

În System and System.SysUtils există și alte ajutoare de înregistrare predefinite pentru tipuri simple, inclusiv: TSingleHelper, TDoubleHelper, TExtendedHelper, TGuidHelper (și câteva altele). Puteți obține de la nume ce tip simplu se extinde asistentul.

Există, de asemenea, unele ajutoare utile pentru sursă deschisă, cum ar fi TDateTimeHelper.

Enumerările? Ajutor pentru Enumerații?

seturi de enumerari

Enumerațiile și seturile tratate ca tipuri simple se pot extinde și acum (în XE3 și nu numai) cu funcționalitate pe care un tip de înregistrare le poate avea: funcții, proceduri și deopotrivă.

Iată o enumerare simplă („TDay”) și un ajutor de înregistrare: