导航:
论坛 -> DELPHI技术
斑竹:liumazi,sephil
作者:
nihg (研砉)
★☆☆☆☆
-
普通会员
2003/4/29 12:05:20
标题:
请问如何在edit输入框中自动加入小数输入时的 那个 黑点 并且规定好小数位数
浏览:2588
加入我的收藏
楼主:
请问如何在edit输入框中自动加入小数输入时的 那个 黑点 并且规定好小数位数 如12.3只要输入123即可,并且又能识别12.3这个数,因为程序中又要用到的
----------------------------------------------
我爱呆儿飞
作者:
2003/4/29 14:46:58
1楼:
你可以在Edit的OnKeyPress事件中通过以下语句来判断呀,下面的这段只能让你输入数字,且输入的最多只能有一个小数点,至于怎么限至小数点后面几位数,你自己再改一下就可以了: var tmp:string; tmp:=edit.text; if not (key in ['0'..'9',#46,#8]) then key:=#0 else if key=#46 then begin if pos('.',tmp)>0 then key:=#0; end;
----------------------------------------------
-
作者:
nihg (研砉)
★☆☆☆☆
-
普通会员
2003/4/30 11:34:47
2楼:
谢谢兄弟,#46 与 #8是哪个键? #13是回车,还有如何找一个键的键值?
----------------------------------------------
我爱呆儿飞
作者:
2003/4/30 16:05:57
3楼:
#8就是BackSpace,也就是退格删除键,而#46就是指小数点".",你可以查看ASCII表获得一个键的键值,只要在前面加上#就可以了,另外你也可以用chr来代替#,如将#13用Chr(13)来代替。
----------------------------------------------
-
作者:
smite (smite)
★☆☆☆☆
-
普通会员
2003/5/19 11:54:46
4楼:
procedure TForm4.Edit1onKeyPress(Sender: TObject; var Key: Char); begin if Not (Key In ['0','1','2','3','4','5','6','7','8','9']) then key:=#0; end; 请问为什么我还能在edit里边输入字母。help
----------------------------------------------
-
作者:
2003/5/20 8:59:29
5楼:
首先要注意是Edit1KeyPress而不是Edit1onKeyPress,我试了一下,绝不可能,是不是你弄错了。
----------------------------------------------
-
作者:
2003/5/20 9:03:35
6楼:
肯定是 Smite 搞错了, 绝对没问题的!
----------------------------------------------