Board logo

Subject: 代码高亮的一处错误 [Print This Page]

Author: limin    Time: 2008-7-2 21:45     Subject: 代码高亮的一处错误

procedure TThsj.CBThsjKeyPress(Sender: TObject; var Key: Char);
begin
  if CBThsj.Style = csSimple then
  begin
    case TField(CBThzd.Items.Objects[CBThzd.ItemIndex]).DataType of
      ftSmallint, ftInteger, ftLargeint, ftWord, ftBytes: {整型}
        if not (key in ['0'..'9', #8, #3, #22]) then
          key := #0;
      ftFloat, ftCurrency, ftBCD: {浮点型}
        if not (key in ['0'..'9', '.', #8, #3, #22]) then
          key := #0
        else  //这里的高亮匹配不正确,匹配到Case语句上面了
        begin
          if key = '.' then
          begin
            if AnsiPos('.', CBThsj.Text) > 0 then
              key := #0;
            if length(CBThsj.Text) = 0 then
              CBThsj.SelText := '0'; {此处必须用SelText属性}
          end
        end;
      ftDate, ftTime, ftDateTime: {日期型}
        if not (key in ['0'..'9', '-', #8, #3, #22]) then
          key := #0;
    end;
  end;
end;
Author: Passion    Time: 2008-7-3 11:01

感谢指出。是我们的一个bug,406的每日构建版中将修正。
Author: Passion    Time: 2008-7-3 22:04

406已出,烦请下载验证?
Author: limin    Time: 2008-7-3 22:38

验证完再报告一下,顺便感谢辛勤各位的劳动。
Author: limin    Time: 2008-7-3 22:41

验证完毕,此问题已修正,谢谢。




Welcome to CnPack Forum (http://bbs.cnpack.org/) Powered by Discuz! 5.0.0