anchor.diff:    filename := ExtractFileName(aSrc);
     ext := ExtractFileExt(aSrc);
     filename := ChangeFileExt(filename, '');
  -  Result := IncludeTrailingPathDelimiter(dir) + filename + '(' + IntToStr(aNumber) + ')' + ext;
  +  Result := IncludeTrailingPathDelimiter(dir) + filename + aSuffix + ext;
   end;
   
   procedure AddUTF8BOMToStream(aStream: TStream);
  
positive.code: end;
  
  function AddNumberToFileName(const aSrc: String; const aNumber: integer): String;
  var
    dir, filename, ext: String;
  begin
  
negative.code: // https://docs.microsoft.com/it-it/windows/desktop/FileIO/naming-a-file#basic_naming_conventions
  function SanitizeFileName(const aSrc: String) : String;
  function SanitizeSubstringForFileName(const aSubString : String): String;
  function AddNumberToFileName (const aSrc: String; const aNumber: integer): String;
  function AddSuffixToFileName (const aSrc: String; const aSuffix: String) : String;
  
  function GetTimeStampForFileName(const aInstant : TDateTime; const aAddTime : boolean = true): string;
  function DecodeTimeStampForFileName(const aTimestamp: String) : TDateTime;
  