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?
http://wiki.freepascal.org/FPC_New_Features_Trunk#Support_for_type_helpers
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
surprises.
And just in case: type helpers might also be used on constants:
=== code begin ===
Writeln('Test'.Length);
=== code end ===
Regards,
Sven
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal