anchor.diff:    TStringHelper = record helper for
       string
       function GetName(const Pref: string): string;
  +  end;
  +
  +type
  +  TStringListHelper = class helper for TStringList
  +    function Join(const CharSeparator: Char): string;
  +    function Explode(const CharSeparator: Char; const Source: string): TStringList;
     end;
   
   type
  
positive.code: 
  interface
  
  uses uTypes, uBearLibItemsCommon, uPlayer;
  
  type
    TIntHelper = record helper for Int
  
negative.code:   Result := StringReplace(Result, '_', ' ', [rfReplaceAll]);
  end;
  
  { TStringListHelper }
  
  function TStringListHelper.Join(const CharSeparator: Char): string;
  var
    I: Integer;
  begin
    Result := '';
    for I := 0 to Self.Count - 1 do
      if (I < Self.Count - 1) then
        Result := Result + Self[I] + CharSeparator
      else
        Result := Result + Self[I];
  end;
  
  function TStringListHelper.Explode(const CharSeparator: Char; const Source: string): TStringList;
  var
    I: Integer;
    Strings: TStringList;
  begin
    Strings := TStringList.Create;
    Strings.Delimiter := CharSeparator;
    Strings.DelimitedText := Source;
    for I := Strings.Count - 1 downto 0 do
      if (Strings[I] = '') then
        Strings.Delete(I);
    Result := Strings;
  end;
  
  end.
  