Förstå Delphi Class (and Record) Hjälpare introducerar en funktion i Delphi-språket som gör att du kan utöka definitionen av en klass eller en posttyp genom att lägga till funktioner och procedurer (metoder) till befintliga klasser och poster utan arv.
I XE3 Delphi-versionen blev rekordhjälpare kraftigare genom att tillåta att utöka enkla Delphi-typer som strängar, heltal, enums, uppsättningar och lika.
System.SysUtils-enheten, från Delphi XE3, implementerar en post med namnet "TStringHelper" som faktiskt är en rekordhjälper för strängar.
Med hjälp av Delphi XE3 kan du sammanställa och använda nästa kod:
var s: sträng; Börja s: = 'Delphi XE3'; ersätt ('XE3', 'regler', []). ToUpper; slutet;
För att detta skulle vara möjligt gjordes en ny konstruktion i Delphi "skivhjälpare för [enkel typ]". För strängar är detta "typ TStringHelper = record helper for string". Namnet säger "rekordhjälpare" men det handlar inte om att utöka poster - snarare om att utöka enkla typer som strängar, heltal och lika.
I System och System.SysUtils finns det andra fördefinierade rekordhjälpare för enkla typer, inklusive: TSingleHelper, TDoubleHelper, TExtendedHelper, TGuidHelper (och några andra). Du kan få från namnet vilken enkel typ hjälperen utökar.
Det finns också några praktiska open source-hjälpare, som TDateTimeHelper.
Uppräkningar och uppsättningar som behandlas som enkla typer kan också nu (i XE3 och senare) utvidgas med funktionalitet som en posttyp kan ha: funktioner, procedurer och lika.
Här är en enkel uppräkning ("TDay") och en rekordhjälpare: