辰峰微网

Delphi.edit框只允许输入数字&字母

Jack·高峰 2528 阅读
当前字体大小 15px
12px 50px

在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事件,判断按键是否为0910个数字键,或者是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;

 

也可以同时兼顾,程序如下

procedure
TForm1.ComboBox1KeyPress(Sender: TObject; var Key: Char);
begin
  if not (key in ['0'..'9','a'..'z','A'..'Z',#8,#13]) then
    begin
      key:=#0;

      MessageBeep(1);    //Beep; 调用系统声音也行!
    end;
end;

 

分享到:
收藏

    发表评论