Delphi编辑框只输入数字或者只输入字母
Delphi编辑框只输入数字或者只输入字母在Delphi中使用编辑框时,有时需要限制输入它的字符类型,如只接收数字或只接收字母。我们可以在TEdit组件的on..KeyPress事件中对输入进行处理,以限制对编辑框的输入。限制为只接收数字的例程如下:
procedure TForm1.Edit1KeyPress(Sender: TObject; var..Key: Char);
begin
if not(key in['0'..'9',#8])then
begin
key:=#0;
MessageBeep(1); //Beep; 调用系统声音也行!
end;
end;
程序通过TEdit组件的on..KeyPress事件,判断按键是否为0至9这10个数字键,或者是BackSpace键,如果不是则将该输入设置为空(key:=#0),将其屏蔽掉;如果是则接收字符输入。这里有一点需要说明的是,#8对应BackSpace键,我们不应将它也屏蔽掉,否则不能使用退格(BackSpace)键删除错误的数字输入。
同样,如果要限制编辑框只接收字母(不管大小写)输入,程序如下:
procedure TForm1.Edit1KeyPress(Sender: TObject; var..Key: Char);
begin
if not(key in['a'..'Z',#8])then
begin
key:=#0;
MessageBeep(1); //Beep; 调用系统声音也行!
end;
end;
版主太给力了,真是受益非浅。学习了 if not(key in['a'..'Z',#8])then//-----------#8是什么意思?
key:=#0;//---------#0又是什么意思呢?
求解中。。。 MessageBeep(1); //Beep; 调用系统声音也行!
-------------------------
这句怎么在我笔记本上不发声呢? 果断强大..超版果然厉害..{:5_109:} '0'..'9'中间全部写出来? if not(key in['a'..'Z',#8])then//z应该是小写,不然不能用。
看看老帖,支持下 支持楼主发扬Delphi
页:
[1]