anchor.diff:  
   ////////////////////////////////////////////////////////////////////////////////
   
  +// najde index pro novy blok
  +function TBlky.FindPlaceForNewBlk(id:Integer):Integer;
  +var left, right, mid:Integer;
  +begin
  + left  := 0;
  + mid   := 0;
  + right := Self.data.Count-1;
  +
  + // je potreba osetrit specialni pripad pridani na konec:
  + if ((right >= 0) and (id > Self.data[right].GetGlobalSettings().id)) then Exit(Self.data.Count);
  +
  + while (left <= right) do
  +  begin
  +   mid := (left + right) div 2;
  +
  +   if (Self.data[mid].GetGlobalSettings().id > id) then
  +     right := mid - 1
  +   else
  +     left := mid + 1;
  +  end;
  + Result := mid;
  +end;//function
  +
  +////////////////////////////////////////////////////////////////////////////////
  +
   end.//unit
  
positive.code:     procedure BlkChange(Sender:TObject);
  
      function GetCount():Integer;
  
    public
      constructor Create();
  
negative.code: //add 1 block
  function TBlky.Add(typ:Integer; glob:TBlkSettings):TBlk;
  var Blk:TBlk;
      index:Integer;
  begin
   // kontrola existence bloku stejneho ID
   if (Self.IsBlok(glob.id)) then Exit(nil);
  