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. idea 修改设置 检测方式为 es6

    intellij idea 14不支持ES6语法!javascript 文件内到处飘红 file>settings>Lauguages & Frameworks>javasc ...

  2. visualbox 安装

    1.下载地址:官网 2.安装步骤 3.新建虚拟机

  3. Pyhon流程控制

    1.条件控制 Python 中用 elif 代替了 else if,所以if语句的关键字为:if – elif – else. 注意: 1.每个条件后面要使用冒号 :,表示接下来是满足条件后要执行的语 ...

  4. python程序爬虫总是崩溃

    写的一个爬虫程序,主要用到以下库.但是伴随着代码增多,功能增多.经常性的程序崩溃现象,逐渐显现. pyqt5_5.8.2,requests.get,selenium+chorme,threading. ...

  5. devops工具-Ansible基础

    一.Ansible介绍 简介     Ansible使用Python语言开发,是一个配置管理型工具,与之类似的工具还有Puppet.SaltStack.chef等,默认通过SSH协议进行远程命令执行或 ...

  6. HTTP协议详细分析

    1.HTTP概述 1.1.什么是HTTP? 它是Hyper Text Transfer Protocol的缩写.超文本传输协议. 它是客户浏览器和web服务器之间的一种一问一答的规则.问答机制/握手机 ...

  7. Python从菜鸟到高手(8):print函数、赋值与代码块

    1.神奇的print函数   print函数相信读者一定对它不陌生,因为在前面的章节,几乎每个例子都使用了print函数,这个函数的功能就是在控制台输出文本.不过print在输出文本时还可以进行一些设 ...

  8. COMCMS 微进阶篇,从0开始部署到Centos 7.4

    言:上一篇,我们介绍了,如何本地调试和部署到windows服务器. 本篇,将带大家,从0到1,开始部署到Centos系统上... 经过测试,可以完美支持Centos.这也是.net core 跨平台的 ...

  9. websockect外网无法访问问题

    项目在测试环境可以正常使用websockect,然而把项目发布到公网上却无法使用问题. 有几种解决方案,1.防火墙未加入入站规则,否则没有权限连接到外网. 方法:控制面板--window防火墙---高 ...

  10. elasticsearch判断索引是否存在

    一.判断索引是否存在 指定索引名,判断指定的索引是否存在集群中 /** * 判断指定的索引名是否存在 * @param indexName 索引名 * @return 存在:true; 不存在:fal ...