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;
|
请发表评论