delphi中文本框中的Keypress事件中

delphi中文本框中的Keypress事件中如何只能输入0.01到1之间的数!或者有别的办法... delphi中文本框中的Keypress事件中如何只能输入0.01到1之间的数!或者有别的办法 展开
 我来答
xtfnpgy
推荐于2018-05-04 · TA获得超过1784个赞
知道大有可为答主
回答量:1989
采纳率:76%
帮助的人:1094万
展开全部
你可以输入之后判断,就是在你点击按钮的时候进行判断,一般都是这样处理的;

当然也可以在正在输入的时候判断,假如输入的不是在定义范围之内就把它清除掉;
你想实现的就是后者,我写的代码如下:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in ['0'..'9', '.',#8]) then //#8 backspace不允许输入数字和退格键以外的
begin
Key := #0;
end
else
if Length(Edit1.Text)=0 then //第一位只能是0或1
begin
if not (Key in ['0', '1',#8]) then
begin
Key := #0;
end
end
else
if Length(Edit1.Text)=1 then//第2位只能为小数点
begin
if not (Key in ['.',#8]) then
begin
Key := #0;
end
end
else
if Length(Edit1.Text)>3 then//不能输入3位以上长度,如0.123
begin
if not (Key in [#8]) then
Key := #0;
end
else
if Length(Edit1.Text)<=3 then//第1位位1后面只能跟0
begin
if Copy(Edit1.Text,1,1)='1' then
if not (Key in ['0',#8]) then
Key := #0;
end;
end;
kaiyanghao123
2016-03-03 · TA获得超过1615个赞
知道小有建树答主
回答量:1219
采纳率:66%
帮助的人:570万
展开全部
Keypress事件是输入时触发的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
boy22yy
2016-01-05 · 超过11用户采纳过TA的回答
知道答主
回答量:40
采纳率:0%
帮助的人:16.4万
展开全部
按键事件,写键盘ASCII
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
马珊笛704
2016-04-29 · TA获得超过481个赞
知道小有建树答主
回答量:634
采纳率:100%
帮助的人:268万
展开全部
请问您想问什么?就是按键按下事件
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
酷图部落
2013-12-08
知道答主
回答量:96
采纳率:0%
帮助的人:27.2万
展开全部
太牛都方法我不知道,我一般都是自定义一个函数去分析内容返回True或False
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式