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 限制Edit输入 多个例子的更多相关文章

  1. Delphi回调函数的使用-例子

    Delphi回调函数的使用-例子 功能大体描述:Form1中有一个Edit和一个Button,当点击BUTTON时弹出FORM2,FORM2中也有一个EDIT和一个BUTTON,当点击FORM2中的B ...

  2. [源码]Delphi 5KB无输入表下载者

    [源码]Delphi 5KB无输入表下载者源码 PROGRAM Fun; type DWORD = LongWord; THandle = LongWord; BOOL = LongBool; LPC ...

  3. WTL自定义控件:edit输入响应

    自定义的edit控件,获取edit输入响应的消息: 头文件部分: BEGIN_MSG_MAP(CCheckEditEx) MESSAGE_HANDLER(WM_CHAR, OnChar) END_MS ...

  4. Delphi的Edit控件中只能输入数字且只能输入一个小数点

    使用这种功能必须使用 OnKeyPress 事件,该事件是在窗体中获得键盘输入的焦点,并且在用户按键时发生.OnKeyPress 事件中有个重要参数:Key.Key 参数为Char 型,它能够获得用户 ...

  5. 用Delphi模拟键盘输入

    在Windows大行其道的今天,windows界面程序受到广大用户的欢迎.对这些程序的操作不外乎两种,键盘输入控制和鼠标输入控制.有时,对于繁杂的,或重复性的操作,我们能否通过编制程序来代替手工输入, ...

  6. 远程控制篇:用Delphi模拟键盘输入/鼠标点击

    模拟键盘我们用Keybd_event这个api函数,模拟鼠标按键用mouse_event函数. Keybd_event函数能触发一个按键事件,也就是会产生一个WM_KEYDOWN或WM_KEYUP消息 ...

  7. Delphi 拦截输入法输入结果

    { 拦截输入法输入的字符串.向编辑框中输入中文查看效果. Delphi XE7 } unit Unit1; interface uses Winapi.Windows, Winapi.Messages ...

  8. delphi directui 做界面的一个例子

    现在很多CS系统或者软件界面都做的非常好看,比如:QQ皮肤,迅雷下载,360杀毒界面等.这些都是运用的流行的DIRECTUI 技术,基本上有的资料都是基于C++的,很少有同仁将C++下的DIRECT ...

  9. delphi 10.2 ----简单的递归函数例子求和

    unit Unit10; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, Syste ...

随机推荐

  1. DeeplabV3+ 在自己环境下跑出现的错误

    1. no module named 'deeplab' 解决办法:把 models/research 和 models/research/slim 加到环境变量path中不管用,需要在 cmd 中运 ...

  2. Linux进程管理 (1)进程的诞生

    专题:Linux进程管理专题 目录: Linux进程管理 (1)进程的诞生 Linux进程管理 (2)CFS调度器 Linux进程管理 (3)SMP负载均衡 Linux进程管理 (4)HMP调度器 L ...

  3. Keil软件常见配置

    1.tab键占据字节数 Edit-->Configuration-->Tab Size-->安装上默认2个空格,这里改为4,符合通用代码编辑器的处理. 2.编码配置 Edit--&g ...

  4. Luogu P3321 [SDOI2015]序列统计

    一道不错的多项式好题.还涉及了一些数论内容. 首先我们看到题目是求乘积模\(m\)的方案数,考虑到这种方案数我们一般都可以用生成函数来做. 但显然卷积的下标有加(FFT,NTT等)有位运算(FWT)但 ...

  5. 卷积神经网络CNN的意义

    一.选用卷积的原因 局部感知 简单来说,卷积核的大小一般小于输入图像的大小(如果等于则是全连接),因此卷积提取出的特征会更多地关注局部 —— 这很符合日常我们接触到的图像处理.而每个神经元其实没有必要 ...

  6. Achievements

    看了Suma,觉得懂了85%以上. 两个月可以学这么多.方法是不懂的就学就行了. 最近学了:字符串,网络流,线段树,斯特林反演,多项式与生成函数,一些数论等.

  7. img :src=“” url()

    <img :src="logoImg"> this.logoImg='/static/images/'+adminUser.Logo; v-bind:style=&qu ...

  8. 解析vue2.0的diff算法 虚拟DOM介绍

    react虚拟dom:依据diff算法台 前端:更新状态.更新视图:所以前端页面的性能问题主要是由Dom操作引起的,解放Dom操作复杂性 刻不容缓 因为:Dom渲染慢,而JS解析编译相对非常非常非常快 ...

  9. springBoot项目启动类启动无法访问

    springBoot项目启动类启动无法访问. 网上也查了一些资料,我这里总结.下不来虚的,也不废话. 解决办法: 1.若是maven项目,则找到右边Maven Projects --->Plug ...

  10. 【kindle笔记】之 《明朝那些事儿》-2018-7-1

    [kindle笔记]读书记录-总 最近在读这本书.之前在微信读书里断断续续读过,读到深处还想蹦起来做笔记那种.后来种种原因断了,再没续上. 现在又开始啦.最近还在重八兄造反阶段,还很早呢,有时候晚上玩 ...