anchor.diff:  procedure TOR.PanelHVAdd(Sender:TIDContext; str:string);
   var HV: THV;
   begin
  - //kontrola opravneni klienta
    if (Self.PnlDGetRights(Sender) < write) then
     begin
  -   ORTCPServer.SendInfoMsg(Sender, _COM_ACCESS_DENIED);
  -   Exit;
  +   Self.SendLn(Sender, 'HV;ADD;-;ERR;Přístup odepřen');
  +   Exit();
     end;
   
    try
  
positive.code: procedure TOR.PanelMoveLok(Sender:TIdContext; lok_addr:word; new_or:string);
  var new: TOR;
  begin
   //kontrola opravneni klienta
   if (Integer(Self.PnlDGetRights(Sender)) < _R_write) then
    begin
     ORTCPServer.SendInfoMsg(Sender, _COM_ACCESS_DENIED);
     Exit;
    end;
  
   new := ORs.Get(new_or);
   if (new = nil) then
    begin
     ORTCPServer.SendInfoMsg(Sender, 'Tato OR neexistuje!');
     Exit();
    end;
   if (not Assigned(HVDb[lok_addr])) then
    begin
     ORTCPServer.SendInfoMsg(Sender, 'HV '+IntToStr(lok_addr)+' neexistuje!');
     Exit();
    end;
   if (HVDb[lok_addr].Stav.train > -1) then
    begin
     ORTCPServer.SendInfoMsg(Sender, 'HV '+IntToStr(lok_addr)+' přiřazeno soupravě '+
          Trains.GetTrainNameByIndex(HVDb[lok_addr].Stav.train)+'!');
     Exit();
    end;
   if (HVDb[lok_addr].Stav.stanice <> Self) then
    begin
     ORTCPServer.SendInfoMsg(Sender, 'HV '+IntToStr(lok_addr)+' nepatří této stanici!');
     Exit();
    end;
  
   HVDb[lok_addr].PredejStanici(new);
   ORTCPServer.SendInfoMsg(Sender, 'HV '+IntToStr(lok_addr)+' předáno stanici '+new.Name);
  end;
  
  ////////////////////////////////////////////////////////////////////////////////
  
negative.code:    HVDb.Remove(addr);
   except
     on E:Exception do
       Self.SendLn(Sender, 'HV;REMOVE;'+IntToStr(addr)+';ERR;'+E.Message);
   end;
  
   Self.SendLn(Sender, 'HV;REMOVE;'+IntToStr(addr)+';OK');
  end;
  
  procedure TOR.PanelHVEdit(Sender:TIDContext; str:string);
  var data:TStrings;
      addr:Integer;
  begin
   if (Self.PnlDGetRights(Sender) < write) then
    begin
     Self.SendLn(Sender, 'HV;EDIT;-;ERR;Přístup odepřen');
     Exit;
    end;
  
   data := nil;
   data := TStringList.Create();
   addr := 0;
   try
     ExtractStringsEx(['|'], [], str, data);
     addr := StrToInt(data[4]);
     data.Free();
     if (HVDb[addr] = nil) then
      begin
       Self.SendLn(Sender, 'HV;EDIT;'+IntToStr(addr)+';ERR;Loko neexistuje');
       Exit();
      end;
     if (HVDb[addr].Stav.stanice <> self) then
      begin
       Self.SendLn(Sender, 'HV;EDIT;'+IntToStr(addr)+';ERR;Loko se nenachází ve stanici '+Self.Name);
       Exit();
      end;
  
  