问一下阿,没分了,大虾帮帮忙吧(50分)

  • 主题发起人 主题发起人 wldandan
  • 开始时间 开始时间
W

wldandan

Unregistered / Unconfirmed
GUEST, unregistred user!
我想只在edit中输入数字,我是这样写的
begin
if not ((key in ['0'..'9']) and (key=#32)) then
key:=#0;
end;
可是好像backspace没起作用。。。
 
begin
if not ((key in ['0'..'9']) or (key=#32) or (key=#8)) then
key:=#0;
end;
 
问一下,为什么要加上(key=#8),这个时表示什么意思啊??
谢谢!!
 
8是backspace的ASCII码
 
??那key=#32是什么??
 
13是回车
 
关于这些东西,在网上很多地方都可以找到详细的解答的,你关注一下吧
 
看看你的条件表达式,not ((key in ['0'..'9']) and (key=#32)) 永远为true
所以你应该什么字符也无法输入。应当改成
if not (key in ['0'..'9'] or (key=chr(8))) then
...
 
兄弟,你应该还要取消对DEL键的限制,不然用户按DEL也没用了。
 
多人接受答案了。
 
后退
顶部