检查如果输入的字符超过两个字符,就跳转到下一格,现在如果快速连击两个键就会多跳一个格,不知何原因procedure TShowContentForm.bodyStringGridKeyUp(Sender: TObject;
  var Key: Word; Shift: TShiftState);
var
   i : integer;                     //控制行变换
   j : integer;                     //控制列变量
begin
   i:=bodystringgrid.row;           //当前行
   j:=bodystringgrid.col;            //当前列
   if length(bodystringgrid.Cells[j,i])>=2 then    //限制只能输入两个字符
        begin
             with bodyStringGrid do
                  if Col = 8 then begin
                     Row := Row+1;
                     Col :=1;
                  end
                  else
                     Col := Col + 1;
        end; 
end;procedure TShowContentForm.bodyStringGridKeyPress(Sender: TObject;
  var Key: Char);
var
   i : integer;
   k,j : integer;
begin
   i:=bodystringgrid.row;           //当前行
   j:=bodystringgrid.col;            //当前列
   k:=length(bodystringgrid.Cells[j,i]);
        key :=Upcase(Key);
        if ((key<'A') or (key>'F')) and ((key<'0') or (key>'9')) then
        begin
              messagedlg('不合法输入',mtwarning,[mbok],0);
              key := #0;
        end;
        if k=2 then  bodystringgrid.Cells[j,i] := key; //如果当前单元格中以有两个字符,则替代
end;