网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > DELPHI > 正文
在delphi里面控制Edit只能输入数字等限制
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/12
下载{$ArticleTitle}原创论文样式

如何在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)>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;

 

  • 上一篇资讯: Delphi正则表达式
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号