Delphi 限制Edit输入 多个例子


本文整理自网络,侵删。

 

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in [ '.',#8]) then key:=#0;  //只能输入小数点
end;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in [ ' 0'..'9',#8]) then key:=#0;  //只能输入数字
end;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in [ '.', '0'..'9',#8]) then key:=#0;  //只能输入小数点和数字
end;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin

if   not  ((ord(key)> 128) or (key=#8))  then  //只能输入汉字
begin
key:=#0;
end;
end;

 

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin

if   not  ((ord(key)> 128) or (Key in ['0'..'9','A'..'Z','a'..'z',#8]) or (key=#8))  then  //只能输入汉字 数字 大小写字母
begin
key:=#0;
end;
end;

 

 

━━━━━━━━━━━━━━━━━━━━━━━━━━

只能输入汉字,而不能输入数字或其他字符
━━━━━━━━━━━━━━━━━━━━━━━━━━
在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;

━━━━━━━━━━━━━━━━━━━━━━━━━━

Delphi 限制Edit输入只能为数字或字母
procedure TDBConnFrm.editKeyPress(Sender: TObject; var Key: Char);
begin
//中能输入 '0 '.. '9 '或 'A '.. 'Z 'OR 'a '.. 'z '和退格
if not (Key in ['0'..'9','A'..'Z','a'..'z','.',#8]) then
begin
Key := #0;
MessageBeep(1);
end
//下以面限制只能输入一个小数点
else if (Pos( '. ',edit.Text) <> 0) and (Key = '. ') then
begin
Key := #0;
MessageBeep(1);
end;
end;

━━━━━━━━━━━━━━━━━━━━━━━━━━

如果要限制编辑框只接收字母(不管大小写)输入,程序如下:

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;

相关阅读 >>

Delphi exe执行程序dos参数的运用

Delphi通过进程名获取进程pid函数

Delphi多媒体函数

Delphi form工程创建

Delphi 高亮选中memo某一行

Delphi 实现php的urlencode编码效果

Delphi firemonkey在画布上绘制 imagelist图像

Delphi 列出dbgrideh被选中的值

Delphi文件复制函数

Delphi 如何使用通配符删除文件

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...