• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

如何在delphi里面控制Edit只能输入数字

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

原文来源:http://blog.163.com/fj_lfx/blog/static/3775368320099129562048/

2009-10-12 09:56:20|  分类: delphi|订阅

 
 

如何在delphi里面控制Edit只能输入数字

━━━━━━━━━━━━━━━━━━━━━━━━━━

if not (key in ['0'..'9',#8]) then key := #0;

只能输入汉字,而不能输入数字或其他字符

━━━━━━━━━━━━━━━━━━━━━━━━━━

在Edit的OnKeyPress事件中

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);

begin

if (Ord(Key)<127) or (Ord(Edit1.Text[1])>127) then

Key:=#0;

end;

要使一文本框中只可输入数字,而且当输入的数字错误时还可以通过Backspace键来修改.

━━━━━━━━━━━━━━━━━━━━━━━━━━

由于BackSpace的ASCII值是8,所以像以下这样即可

if (key<>#46) and ((key < #48) or (key > #57)) and (key <> #8) then

//如果输入不是数字或小数点(#46代表小数点)

begin

key:=#0; //取消输入的内容(#0代表空值)

showmessage('输入错误!请输入数字!'); //发出提示信息

end;

方法二:

if not (key in ['0'..'9',#13,#8 ,#46]) then

key := #0;

这样就可以了

只能输入数字,而不能输入其他字符

━━━━━━━━━━━━━━━━━━━━━━━━━━

edit 属性Maxlength 设置2;

在edit的onkeypress里

procedure Tmainform.editkeypress(sender:tobject;var key: char );

var

Uflag: integer;

begin

Uflag:=Tedit(sender).Tag;

if (not (key in ['1'..'9'])) and (not (key=#8)) then key:=#0;

end;

方法二:

edit的maxlength设置为2;

在edit的onkeypress事件内

procedure Ttbdlform.Edit1KeyPress(Sender: TObject; var Key: Char);

begin

if key <> #9 then// #9 是空格,你可以查找下数字1\2\3是什么值

showmessage('请输入数字')

end;

只能输入数字和小数点

━━━━━━━━━━━━━━━━━━━━━━━━━━

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);

begin

if not (key in ['0'..'9','.',#8,#32]) then

key:= #0;

end;

end.

但如果你想只输入数字而且有格式限制 那么你最好还是用第三方控件`

方法二:

可以在keypress里面加上如下代码,可以输入数字,并且可以使用退格删除数字,可以使用回车

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);

begin

case Key of

'0'..'9', #8, #13, #27, '.' : ;

else

begin

MessageBox(Handle, '请输入数字', PChar('输入错误'), MB_OK + MB_ICONINFORMATION);

Key := #0;

end;

end;

end;


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
load data to matlab发布时间:2022-07-18
下一篇:
matlab mat介绍.txt - 技术蛀虫发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap