[fpc-pascal] Record helpers on built in types?

Sven Barth pascaldragon at googlemail.com
Wed Feb 18 07:52:48 CET 2015

On 17.02.2015 23:28, Anthony Walter wrote:
> I tried this out today on FPC fixes_3_0 and was surprised to see it worked:
> type
>    StringHelper = record helper for string
>    private
>      function GetLength: Integer;
>    procedure SetLength(Value: Integer);
>      function GetIsEmpty: Boolean;
>      function GetIsWhitespace: Boolean;
>    public
>      function BeginsWith(const S: string): Boolean;
>      function EndsWith(const S: string): Boolean;
>      function Trim: string;
>      property Length: Integer read GetLength write SetLength;
>      property IsEmpty: Boolean read GetIsEmpty;
>      property IsWhitespace: Boolean read GetIsWhitespace;
>    end;
> I love this and would like to know if this is going to be an officially
> supported feature and can I depend on it to work going forward?


Please note that if you use "String" the types the helper will apply to 
will depend on whatever "String" currently is. Maybe it would be better 
to explicitely use "AnsiString" and "UnicodeString" to avoid potential 
And just in case: type helpers might also be used on constants:

=== code begin ===


=== code end ===


More information about the fpc-pascal mailing list