如何在DBEDIT中给输入的数据添加“格式掩码”.(100分)

  • 主题发起人 主题发起人 hexiang
  • 开始时间 开始时间
H

hexiang

Unregistered / Unconfirmed
GUEST, unregistred user!
如何在DBEDIT中给输入的数据添加“格式掩码”,例如:只能输入合法的数字或日期。
 
field对象 editmask
 
也可以直接在dbedit的KeyPress事件中写代码:
if (key in ['0'..'9']) or (key=#8) or (key='-') or (key=':') then
else
begin
key:=#0;
beep;
end;
 
可以在edit的onexit事件中检测输入的内容是否合法。如果要在输入的同时检测是否为数字
或日期那你只有使用maskedit控件了。lipingcool老兄的keypress事件有个明显的漏洞。我
全部都输入'-',那你.....?
 
我觉得用text比较好,如果数字和日期的格式比较简短,可以如下解决:
try
text1.text:=floattostr(strtofloat(text1.text));//或用变量
text1.text:=inttostr(strtoint(text1.text));//
text1.text:=datetostr(strtodate(text1.text));//
except
exit;
end;
 
我给出只是一种近似的方法而已,最后肯定是要进行判断的.
要达到hexiang所说的方法并不难,要用DBEDIT,最好就在keypress中限制,要不用maskedit
可以只输入数字,要输入日期可以用DateTimePicker!
 
用maskedit不可?
 
根据我在sql7.0上使用的经验,dbedit如果绑定在table上的话,只要失去焦点,它会自动
检测添入内容是否符合数据库规则。你可以将dbedit绑定一int型字段,再输入几个字符试
一下。
 
多人接受答案了。
 
后退
顶部