字段只能输入时间,如不是则提示。请问在DBGridEh中怎么设置,如果要调用方法,应该用什么方法?

解决方案 »

  1.   

    你在数据集的BeforePost中判断比较好一些!
      

  2.   


    function TestTimeError(AInputTime: Variant): Boolean;  //检测时间的合法性
    var
      i: Integer;
      vStr: string;
      vError: Boolean;
    begin
      Result := False;
      vError := False;
      vStr := AInputTime;  for i := 1 to Length(vStr) do
      begin
        if i <> 3  then
        begin
          if not (vStr[i] in ['0','1','2','3','4','5','6','7','8','9']) then
          begin
            vError := True;
            Result := True;
            Break;
          end;
        end
        else if vStr[i] <> ':' then
        begin
          vError := True;
          Result := True;
          Break;
        end;
      end;
      try
        if not vError and (StrToInt(Copy(vStr,1,2)) > 23) or (StrToInt(Copy(vStr,4,2)) > 59) then
          Result := True;
      except
        Result := True;
      end;
    end;
      

  3.   

    Delphi7.0版本的自动提示有这个功能。
    Delphi6.0的自己修改控件。