如何解决限制edit框只能输入数字?

A_ganfly 2004-09-04 02:04:29
限制edit框只能输入数字。
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9','.',#8]) then
begin
key:=#0;
Messagebeep(0);
end;
end;

这种方法还是有不足之处,用户可以使用右键---粘贴,把非数字输入进去
如何也限制使用右键---粘贴
...全文
290 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
A_ganfly 2004-09-15
  • 打赏
  • 举报
回复
不好意思了。我是新来的,哪天发贴的时候没有看清楚给了多少分
我现在想给各位加,但是不知道怎么样加了?还希望大学多多原谅了。
也希望各位高手多多指点呀。我的QQ7765357
A_ganfly 2004-09-15
  • 打赏
  • 举报
回复
不好意思了
jabcf 2004-09-05
  • 打赏
  • 举报
回复
procedure TF_form1.Edit1Exit(Sender: TObject);
var f:single;
begin
if edit1.Text<>'' then
try
f:=strtofloat(edit1.Text);
except
on E:EConvertError do begin messagedlg('只能填入数字',mtinformation,[mbok],0); edit1.SetFocus;end;
end;
dext 2004-09-05
  • 打赏
  • 举报
回复
SetWindowLong(
Edit1.Handle,
gwl_Style,
GetWindowLong(Edit.Handle, gwl_Style) or es_Number
);
MMas 2004-09-05
  • 打赏
  • 举报
回复
错误代码重新定义了,呵呵
Showmessage('erorr');
solokey 2004-09-04
  • 打赏
  • 举报
回复
少写了一个End;
罪过罪过。
solokey 2004-09-04
  • 打赏
  • 举报
回复
OnExit事件中写:
try
StrToInt(Edit.Text);
except
Showmessage('erorr');
Edit.SetFocus;
太空11 2004-09-04
  • 打赏
  • 举报
回复
procedure TForm1.Edit1Change(Sender: TObject);
var
m:Integer;
begin
if not TryStrtoInt(Edit1.Text,m) then
showmessage('只能输入数字');
end;
xiaoyanggonghui 2004-09-04
  • 打赏
  • 举报
回复
if (not (key in['0'..'9'])) and (KEY<>#8) then
key:=#0;
xiaoyanggonghui 2004-09-04
  • 打赏
  • 举报
回复
if (not (key in['0'..'9'])) and (KEY<>#8 then
key:=#0;
linzhengqun 2004-09-04
  • 打赏
  • 举报
回复
在OnChang也判断一下
scycgjr 2004-09-04
  • 打赏
  • 举报
回复
procedure TForm1.Edit1Change(Sender: TObject);
var
m:Integer;
begin
if not TryStrtoInt(Edit1.Text,m) then
showmessage('只能输入数字');
end;

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧