如何在DBEDIT(DBEDIT与一数值型字段连上,)中只输入“+”,“-”  或输入为空时,当焦点转移到其它控件时不提示出错,并将其置零。这个问题搞得我焦头烂额, 请各位高手多多指教,小弟不胜感激。

解决方案 »

  1.   

    可能是DBEDIT中默认的异常处理吧。
    你可以在DBEDIT的失去光标事件中处理一下。
    应该可以处理好!
      

  2.   

    onkeypress事件中
    if not key in('0'..'9', '+','-') then
      key:=0;onexit中
    if dbedit.text='' then
    dbedit.text:='0'
      

  3.   

    如果能在LOSTFOCUS中处理就不麻烦各位了。
      

  4.   

    TO godear() 
    在 onkeypress 事件中 是可以限制输入的字符,但却不能处理只输入“+”,“-”  或输入为空时,当焦点转移到其它控件时不提示出错,并将其置零。
      

  5.   

    可以试试, dataset的beforepost
      

  6.   

    TO godear()
    试过了,不行。
      

  7.   

    这个是他DBedit 自己的异常处理。
    解决办法。
    1   onkeypress事件中 不让输入非数字数据
    2      不要用 dbedit 改用 edit 代    这个方法最灵活 自己要怎么样就怎么样
    3      用 dbediteh
      

  8.   

    TO Open2ye(Open2ye)
    “+”,“-”  怎能算是非数字数据,dbediteh 与 dbedit 有何区别。
    能否在只输入“+”,“-”  或输入为空时,当焦点转移到其它控件时不提示出错,并将其置零。
      

  9.   

    难道自有 DELPHI 以来就不存在这个问题吗?真的没有人碰到过这个问题?