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. 15 python 初学(闭包,函数装饰器)

    这一部分很重要,一定要透彻理解.可参考大神博客:  http://www.cnblogs.com/yuanchenqi/articles/5830025.html 闭包: 如果在一个内部函数里,对在外 ...

  2. Raid卡介绍

    raid0条带卷 最少需要一块硬盘 可以把所有硬盘的容量都叠加在一起,可以拥有很高的读写速度,硬盘空间也能得到很好的利用 但是只要其中一块硬盘换了,数据就全丢失了 raid1镜像卷 最少需要两块硬盘, ...

  3. 初学Python—列表和元组

    一.什么是列表 列表是一系列数据的集合 二.列表的引用 首先定义一个列表 names=["alex","bob","alice"," ...

  4. ZOJ - 2423-Fractal

    A fractal is an object or quantity that displays self-similarity, in a somewhat technical sense, on ...

  5. JS中AOP的实现和运用

    在编写js的时候,我们有时会遇到针对某种场景做处理,比如在方法开始的时候校验参数,执行方法前检查权限,或是删除前给出确认提示等等.这些校验方法.权限检测.确认提示,规则可能都是相同的,在每个方法前去调 ...

  6. ML.NET 示例:推荐之One Class 矩阵分解

    写在前面 准备近期将微软的machinelearning-samples翻译成中文,水平有限,如有错漏,请大家多多指正. 如果有朋友对此感兴趣,可以加入我:https://github.com/fei ...

  7. 第一行代码:以太坊(2)-使用Solidity语言开发和测试智能合约

    智能合约是以太坊的核心之一,用户可以利用智能合约实现更灵活的代币以及其他DApp.不过在深入讲解如何开发智能合约之前,需要先介绍一下以太坊中用于开发智能合约的Solidity语言,以及相关的开发和测试 ...

  8. docker环境搭建

    参考地址:https://www.imooc.com/article/details/id/25228 操作系统Centos7 1.替换yum源为阿里云yum源: //备份yum源 mv /etc/y ...

  9. tornado设置cookie并加密

    最近看看tornado,遇到了sso的东西,了解下如何设置cookie 1.基本cookie set_cookie 方法在用户的浏览中设置 cookie: get_cookie 方法在用户的浏览中获取 ...

  10. 二次剩余 Cipolla算法

    欧拉准则 \(a\)是\(p\)的二次剩余等价于\(a^{\frac{p-1}{2}}\equiv 1\pmod p\),\(a\)不是\(p\)的二次剩余等价于\(a^{\frac{p-1}{2}} ...