怎样限制Edit只能输入数字(包括有小数点的数字)
2008-07-18 22:11
302 查看
怎样限制Edit只能输入数字(包括有小数点的数字) Frewin(frewin) Delphi VCL组件开发及应用 - delphi2007.net
http://www.delphi2007.net/DelphiVCL/html/delphi_2004010315571551964.html
procedure TForm.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if Key in ['0'..'9',#8,#13] = False then
begin
Application.MessageBox('只能输入数字! ','系统提示',MB_OK+MB_ICONWARNING);
Edit1.SetFocus;
Abort;
end;
end;
//至于小数点,可以自己加控制
===============================
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not(key in [#48..#57,#46]) then
Key := #0;
end;
==============================
如果用键值去控制麻烦,不仅仅要看是不是数字和点,还要看是不是已经有了点,所以这样吧
try
strtofloat(edit1.text);
except
edit1.text:='0';
end
==================
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9','.',#8]) then
key:=#0
end;
========================================
function CheckInputNum(AStr: string; var Key: Char): Boolean;
const NumberSet = ['0' .. '9', char(#8), char(#13), char(#46), '.', '-'];
begin
if not (Key in NumberSet) then Key := #0;
if (Key = '.') and ((Length(AStr) = 0) or (Pos('.', AStr) > 0)) then
Key := #0;
if (Length(AStr) = 1) and (AStr[1] = '0') and (Key = '0') then Key := #0;
Result := Key <> #0
end;
你可以在OnKeyPress中调用
============================================
在EDIT 的ONEXIT(当这个EDIT失去焦点的时候)写几句话
try
strtofloat(edit.text);
except
showmessage('error');
edit.setfocus;
end;
还有就是在EDIT的ONKEYPRESS里添加对KEY的判断
if not (key in ['0'..'9','.',#8,#13]) then
key:=0;
上面这个写法有问题的,就是无法控制小数点的位置和个数.
所以在EDIT失去焦点的时候判断一下是很有必要的.除非你把错误的可能都排除了,禁止EDIT粘贴之类的,老问题了啊.期待高手写个这样EDIT的控件吧.呵呵,最好是免费的哦
fastReport3不知如何调整交叉报表的格式及显示位置?注意,是交叉报表!
我写的这段代码,出现了上面的错,为什么,
treeview的难题?在线等,解决即给分
关于TClientDataSet修改问题,有没有人知道修改TClientDataSet数据后记录不刷新的办法??
急,导出注册表的问题
怎样才能使edit中的字符串上下归中??
如何取得record中的内容?
请问如何释放自动化OLEVariant对象?
请问$后加一些数字是什么类型的数据?
没办法,高分求助一个问题(回答正确的还要加分),up者有分
http://www.delphi2007.net/DelphiVCL/html/delphi_2004010315571551964.html
procedure TForm.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if Key in ['0'..'9',#8,#13] = False then
begin
Application.MessageBox('只能输入数字! ','系统提示',MB_OK+MB_ICONWARNING);
Edit1.SetFocus;
Abort;
end;
end;
//至于小数点,可以自己加控制
===============================
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not(key in [#48..#57,#46]) then
Key := #0;
end;
==============================
如果用键值去控制麻烦,不仅仅要看是不是数字和点,还要看是不是已经有了点,所以这样吧
try
strtofloat(edit1.text);
except
edit1.text:='0';
end
==================
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9','.',#8]) then
key:=#0
end;
========================================
function CheckInputNum(AStr: string; var Key: Char): Boolean;
const NumberSet = ['0' .. '9', char(#8), char(#13), char(#46), '.', '-'];
begin
if not (Key in NumberSet) then Key := #0;
if (Key = '.') and ((Length(AStr) = 0) or (Pos('.', AStr) > 0)) then
Key := #0;
if (Length(AStr) = 1) and (AStr[1] = '0') and (Key = '0') then Key := #0;
Result := Key <> #0
end;
你可以在OnKeyPress中调用
============================================
在EDIT 的ONEXIT(当这个EDIT失去焦点的时候)写几句话
try
strtofloat(edit.text);
except
showmessage('error');
edit.setfocus;
end;
还有就是在EDIT的ONKEYPRESS里添加对KEY的判断
if not (key in ['0'..'9','.',#8,#13]) then
key:=0;
上面这个写法有问题的,就是无法控制小数点的位置和个数.
所以在EDIT失去焦点的时候判断一下是很有必要的.除非你把错误的可能都排除了,禁止EDIT粘贴之类的,老问题了啊.期待高手写个这样EDIT的控件吧.呵呵,最好是免费的哦
fastReport3不知如何调整交叉报表的格式及显示位置?注意,是交叉报表!
我写的这段代码,出现了上面的错,为什么,
treeview的难题?在线等,解决即给分
关于TClientDataSet修改问题,有没有人知道修改TClientDataSet数据后记录不刷新的办法??
急,导出注册表的问题
怎样才能使edit中的字符串上下归中??
如何取得record中的内容?
请问如何释放自动化OLEVariant对象?
请问$后加一些数字是什么类型的数据?
没办法,高分求助一个问题(回答正确的还要加分),up者有分
相关文章推荐
- android edittext 限制小数点后最多只能输入两位数字
- mfc现实edit控件输入限制(只能输入数字和小数点)
- edit中只能输入数字、小数点(只可以1个小数点)和负号+多个edit共用一个事件
- edittext只能输入数字和小数点时并且小数点后只能输入两个小数
- 如何限制文本框只能输入数字,小数点,英文,汉字等各类代码
- 禁止只能输入数字和小数点的文本框(包括粘贴)
- JQuery限制文本框只能输入数字和小数点的方法
- 正则表达式限制文本框只能输入数字,小数点,英文字母,汉字及其组合
- js正则表达式限制文本框只能输入数字,小数点,英文字母
- TextBox只能输入数字(包括小数点),并且屏蔽中文输入和非法粘贴[原创]
- jquery限制文本框只能输入数字、JQuery 限制文本框只能输入数字和小数点
- js正则表达式限制文本框只能输入数字,小数点,英文字母,汉字等各类代码
- SetEditOnePoint() 使Edit控件中只能输入数字和1个小数点
- C# textbox中输入时加限制条件 // C#Winform下限制TextBox只能输入数字 // 才疏学浅(TextBox 小数点不能在首位+只能输入数字)
- 限制文本框只能输入数字和小数点等等
- VC++学习之——Edit只能输入数字和小数点
- 正则表达式限制文本框只能输入数字,小数点,英文字母,汉字
- 限制文本框只能输入数字和小数点
- 用正则表达式限制文本框只能输入数字,小数点,英文字母,汉字等各类代码
- [VC++]限制CEdit(Edit Contrl)只能输入数字和小数点