这几个问题都很类似,和输入格式有关系的:
1.有个dbedti1,用户只能输入年月日,例子:20041124是对的,20041100或041124都为非法的
2.有个dbedit2,用户只能输入如下格式,例子:0<L<10,或者0.1<L<0.22是对的,若中间有空格为非法的
....这类问题还遇到很多,就是校验用户输入合法性,也许你认会为:wakao..楼主让我做作业啊,
但其实我也是无奈才来此提问的~~希望各位援手..谢谢

解决方案 »

  1.   

    除了只做显示外,俺根本就不用 DBxxxxx 的。
      

  2.   

    我只是举个例子,在edit1上的输入也一样,反正是要检验输入合法性
      

  3.   

    1.用"try strtodatatime() excecpt 输入格式错误"来检验
    2.用"IF Pos(' ',dbedit2.text)>0 THEN 不合法"来检验
      

  4.   

    设置格式输入,用MaskEdit或设置Field.EditMask属性,按你指定的格式输入,具体请参见Field.EditMask帮助
      

  5.   

    用MaskEdit或设置Field.EditMask属性  检查太烦了,还是自己写函数吧!!
      

  6.   

    用MaskEdit或设置Field.EditMask属性,一般来说不用检查的,
    或者用TryStrToDate函数吧,没必要自己来try的
      

  7.   

    向你推荐一个第三方控件组Raize 3.0中的TNumericEdit,它可以输入整数据、浮点数据;
    同时拥有Text,Value属性;对所输入的数据具有范围检查功能。
    你可以到www.google.com中找找。
      

  8.   

    第一个问题,套个日期框来解决
    第二个问题 退出edit时,做判断
      

  9.   

    呵呵,使用正则表达式吧,很强大的处理字符串规则的一种方式,只是Delphi下不知道怎么使用
      

  10.   

    认知道哪里有delphi下的正则表达式的库吗?
      

  11.   

    用maskedit,或datetimepicker,
    或在代码里 
    try
    except
    end;
      

  12.   

    if not (key in [[0..9],'<','>','.',#8]) then
      DBEdit.text:=#0;