Es gibt auch ein interessantes neues Sprachfeature in XE3: Record Helpers. Anders wie der Name suggeriert funktionieren diese aber auch für elementar Typen wie Strings, Integer, Arrays, Sets, ...
https://forums.embarcadero.com/threa...76400&tstart=0
program TestHelper;
Delphi-Quellcode:
{$APPTYPE CONSOLE}
uses
System.SysUtils;
type
TStringHelper = record helper for String
function Length: Integer;
function ToInt: Integer;
end;
TIntegerHelper = record helper for Integer
function ToString: String;
end;
function TStringHelper.Length: Integer;
begin
Result := System.Length(Self);
end;
function TStringHelper.ToInt: Integer;
begin
Result := StrToIntDef( self, 0);
end;
function TIntegerHelper.ToString;
begin
Result := IntToStr( self);
end;
var
S, s2: string;
I: Integer;
begin
S := 'Test String';
s2 := '125';
Writeln(S, ', length: ', S.Length);
Writeln(S2, ', ToInt: ', S2.ToInt);
i := 167;
s2 := i.ToString;
Writeln(S2);
ReadLn;
end.