如何在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;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in ['0'..'9', #8, #13]) then
begin
Key := #0;
ShowMessage('只能输入数字');
end;
end;
LeetCode 75. Sort Colors
LeetCode 581. Shortest Unsorted Continuous Subarray
LeetCode 20. Valid Parentheses
LeetCode 53. Maximum Subarray
LeetCode 461. Hamming Distance
LeetCode 448. Find All Numbers Disappeared in an Array
LeetCode 976. Largest Perimeter Triangle
LeetCode 1295. Find Numbers with Even Number of Digits
如何自学并且系统学习计算机网络?(知乎问答)
- 最新文章
-
SQL注入常用语句
[solved] update fedora 27, then input method is not available
(OK) MPTCP & quagga
get network interface index
抛开Wintel体系和AA体系
拼音之父
区块链简史:解读这场技术革命的前世今生
(OK) Android 7 中使用 iperf3, 错误解决:error
(OK) mim-tcp-mdr
1983年
- 热门文章
-
tcp/ip 发包时,函数调用:从 tcp_connect() 到 __dev_queue_xmit()
RHEL7: How to get started with Firewalld.
Firewalld Rich and Direct Rules: Setting up RHEL 7 Server as a Router
为什么 Android 要采用 Binder 作为 IPC 机制?
(OK) Android Binder设计与实现
(OK) Android Binder设计与实现
谷歌元老 施密特(搜索广告-AI, 社交网络)隐退
Android-x86 Porting Guide for OPENTHOS Developers
埃里克·施密特
LeetCode 215. Kth Largest Element in an Array