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 限制Edit输入 多个例子的更多相关文章
- Delphi回调函数的使用-例子
Delphi回调函数的使用-例子 功能大体描述:Form1中有一个Edit和一个Button,当点击BUTTON时弹出FORM2,FORM2中也有一个EDIT和一个BUTTON,当点击FORM2中的B ...
- [源码]Delphi 5KB无输入表下载者
[源码]Delphi 5KB无输入表下载者源码 PROGRAM Fun; type DWORD = LongWord; THandle = LongWord; BOOL = LongBool; LPC ...
- WTL自定义控件:edit输入响应
自定义的edit控件,获取edit输入响应的消息: 头文件部分: BEGIN_MSG_MAP(CCheckEditEx) MESSAGE_HANDLER(WM_CHAR, OnChar) END_MS ...
- Delphi的Edit控件中只能输入数字且只能输入一个小数点
使用这种功能必须使用 OnKeyPress 事件,该事件是在窗体中获得键盘输入的焦点,并且在用户按键时发生.OnKeyPress 事件中有个重要参数:Key.Key 参数为Char 型,它能够获得用户 ...
- 用Delphi模拟键盘输入
在Windows大行其道的今天,windows界面程序受到广大用户的欢迎.对这些程序的操作不外乎两种,键盘输入控制和鼠标输入控制.有时,对于繁杂的,或重复性的操作,我们能否通过编制程序来代替手工输入, ...
- 远程控制篇:用Delphi模拟键盘输入/鼠标点击
模拟键盘我们用Keybd_event这个api函数,模拟鼠标按键用mouse_event函数. Keybd_event函数能触发一个按键事件,也就是会产生一个WM_KEYDOWN或WM_KEYUP消息 ...
- Delphi 拦截输入法输入结果
{ 拦截输入法输入的字符串.向编辑框中输入中文查看效果. Delphi XE7 } unit Unit1; interface uses Winapi.Windows, Winapi.Messages ...
- delphi directui 做界面的一个例子
现在很多CS系统或者软件界面都做的非常好看,比如:QQ皮肤,迅雷下载,360杀毒界面等.这些都是运用的流行的DIRECTUI 技术,基本上有的资料都是基于C++的,很少有同仁将C++下的DIRECT ...
- delphi 10.2 ----简单的递归函数例子求和
unit Unit10; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, Syste ...
随机推荐
- 【ECMAScript5】ECMAScript5中有关数组的常用方法
1.indexOf() 此方法返回在改数组中第一个找到的元素位置,如果它不存在则返回-1 var arr = ['apple','orange','pear']; console.log(" ...
- masm的调试命令(debug)
-u命令:查看汇编代码: -t命令:执行下一条语句 -g + 的内存:跳转到该内存所对应的语句(再用t命令执行该条命令) -r命令:查看寄存器的内容(后可直接接寄存器的名称,就只查看该寄存器的内容) ...
- (二 -3-3) 天猫精灵接入Home Assistant-自动发现Mqtt设备-自动生成配置信息
http://www.hassmart.com/products/switches/#tab=config switch: - platform: mqtt name: keting state_to ...
- leetcode 153. Find Minimum in Rotated Sorted Array 、154. Find Minimum in Rotated Sorted Array II 、33. Search in Rotated Sorted Array 、81. Search in Rotated Sorted Array II 、704. Binary Search
这4个题都是针对旋转的排序数组.其中153.154是在旋转的排序数组中找最小值,33.81是在旋转的排序数组中找一个固定的值.且153和33都是没有重复数值的数组,154.81都是针对各自问题的版本1 ...
- .NET Core中延迟单例另一种写法【.NET Core和.NET Framework的beforefieldinit差异】
1.BeforeFieldInit是什么 前段时间在反编译代码时无意间看到在类中有一个BeforeFieldInit特性,处于好奇的心态查了查这个特性,发现这是一个关于字段初始化时间的特性[提前初始化 ...
- 调试器GDB的基本使用方法
GDB调试的三种方式: 1. 目标板直接使用GDB进行调试. 2. 目标板使用gdbserver,主机使用xxx-linux-gdb作为客户端. 3. 目标板使用ulimit -c unlimited ...
- Spark运行模式:cluster与client
When run SparkSubmit --class [mainClass], SparkSubmit will call a childMainClass which is 1. client ...
- 使用sklearn做文本特征提取
提取文本的特征,把文本用特征表示出来,是文本分类的前提,使用sklearn做文本的特征提取,需要导入TfidfVectorizer模块. from sklearn.feature_extraction ...
- Web登录其实没那么简单
1. 一个简单的HTML例子看看用户信息安全 标准的HTML语法中,支持在form表单中使用<input></input>标签来创建一个HTTP提交的属性,现代的WEB登录中, ...
- Golang-教程
http://www.runoob.com/go/go-environment.html https://www.pythonav.cn/