Grundlegendes zu Delphi-Klassen- (und Datensatz-) Hilfsprogrammen enthält eine Funktion der Delphi-Sprache, mit der Sie die Definition einer Klasse oder eines Datensatztyps erweitern können, indem Sie vorhandene Klassen und Datensätze um Funktionen und Prozeduren (Methoden) ohne Vererbung erweitern.
In der XE3 Delphi-Version wurden Record-Helfer leistungsfähiger, indem einfache Delphi-Typen wie Strings, Ganzzahlen, Enums, Sets und Ähnliches erweitert werden konnten.
Die Unit System.SysUtils aus Delphi XE3 implementiert einen Datensatz mit dem Namen "TStringHelper", der eigentlich ein Datensatz-Helfer für Zeichenfolgen ist.
Mit Delphi XE3 können Sie den folgenden Code kompilieren und verwenden:
var s: string; Start s: = 'Delphi XE3'; s.Replace ('XE3', 'rules', []). ToUpper; Ende;
Damit dies möglich ist, wurde in Delphi ein neues Konstrukt "record helper for [simple type]" erstellt. Für Strings ist dies "type TStringHelper = record helper for string". Der Name gibt "record helper" an, aber es geht nicht um das Erweitern von Datensätzen, sondern um das Erweitern einfacher Typen wie Zeichenfolgen, Ganzzahlen und dergleichen.
In System und System.SysUtils gibt es weitere vordefinierte Aufzeichnungshilfen für einfache Typen, darunter TSingleHelper, TDoubleHelper, TExtendedHelper, TGuidHelper (und einige andere). Sie können dem Namen entnehmen, welchen einfachen Typ der Helfer erweitert.
Es gibt auch einige nützliche Open Source-Helfer, wie TDateTimeHelper.
Aufzählungen und Mengen, die als einfache Typen behandelt werden, können jetzt (in XE3 und höher) um Funktionen erweitert werden, die ein Datensatztyp haben kann: Funktionen, Prozeduren und dergleichen.
Hier ist eine einfache Aufzählung ("TDay") und ein Datensatz-Helfer: