读书人

屏蔽所有输入的非数值该如何写

发布时间: 2012-02-29 16:44:11 作者: rapoo

屏蔽所有输入的非数值,该怎么写?
1、procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);请问是怎么出来的,双击TEdit不是这样子的?
2、还有我想屏蔽所有输入的非数值,代码该怎么写?

[解决办法]
那是控件的KeyPress事件,不是doubleclick事件,想屏蔽的话直接用key和ascii码对比即可
符合条件key=#0就是屏蔽该按键
[解决办法]
1、这个事件应该是键盘确认后触发的事件;
2、要做到这个操作需要在change事件里编码,判断输入的是否是非数值
[解决办法]
1、选中控件,点Events,那里会有控件的所有事件;
2、if not (key in ['0'..'9', #8]) then key := #0;
3、楼主没用过delphi?
[解决办法]

探讨
引用:
1、选中控件,点Events,那里会有控件的所有事件;
2、if not (key in ['0'..'9', #8]) then key := #0;
3、楼主没用过delphi?

谢谢大哥,那个if not (key in ['0'..'9', #8]) then key := #0;
中的#8,和#0是什么意思啊,有所有的详细解释吗?……

[解决办法]
if not (key in ['0'..'9',#8,#13]) then
key := #0;

我在加个回车符(#13),这句话的意思,如果输入的字符不是0~9或是退格键(#8)和回车键(#13)则返回#0(什么都不做).

读书人网 >.NET

热点推荐