在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
原文来源: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; |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论