Код, который сдвигает указатель вправо на следующую ячейку, при достижении последнего столбца, сдвиг указателя в начало и переход на следующую строку. При достижении последней ячейки происходит переход в 1-ю ячейку — Delphi(Делфи)

procedure TForm1.StringGrid1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if Key = ord(#13) then
  begin
    { проверяем, это последний столбец?... }
    if Form1.StringGrid1.Col < Form1.StringGrid1.ColCount - 1 then
    begin
      Form1.StringGrid1.Col := Form1.StringGrid1.Col + 1;
      { если нет, то смещение вправо }
    end
    else { если это последний столбец, то... }
    begin { проверяем, это последняя строка?... }
      if Form1.StringGrid1.Row < Form1.StringGrid1.RowCount - 1 then
      begin
        Form1.StringGrid1.Row := Form1.StringGrid1.Row + 1;
        { если нет, то смещение вниз }
        Form1.StringGrid1.Col := 0; { и перевод указателя в 1-ю колонку }
      end
      else { а если это самая последняя ячейка, то... }
      begin
        Form1.StringGrid1.Col := 0; { ставим указатель в 1-ю ячейку }
        Form1.StringGrid1.Row := 0;
      end;
    end;
  end;
end;