delphi中关于edit的问题

我要在edit里面输入一个带小数点的实数(如3.6),然后将数保存在变量里面。现在我在网上看到相关的代码,调试出问题。希望有人帮忙解决一下。我才学delphi·····p... 我要在edit里面输入一个带小数点的实数(如3.6),然后将数保存在变量里面。现在我在网上看到相关的代码,调试出问题。希望有人帮忙解决一下。我才学delphi·····

procedure TBaseDate.EditQ1KeyPress(Sender: TObject; var Key: Char);
begin
If not (key in ['0'..'9','-',#8,#13,#5]) then
begin
key:= #5; //忽略掉用户按的键,别显示出来
ShowMessage('只能输入字母或数字');//显示对话框
end else //否则,在以上范围内的话
begin
Q1:=StrToCurr(EditQ1.Text); //将输入的值给变量
end;
end;
展开
 我来答
sirouszlh
2013-03-16 · TA获得超过1651个赞
知道小有建树答主
回答量:1038
采纳率:100%
帮助的人:646万
展开全部
自然会有错误。

KeyPress事件发生的时候,edit的值还没有变化
如果原来edit 值为空 当按下1 时 key 的确是1 但是 edit的值还是空
strTocurr自然是异常了

你将Q1:=StrToCurr(EditQ1.Text);
这句话放在 onchange事件里吧
追问
多谢你的回答,我再补充问一下,我之前在edit响应了一个keypress的事件,你说的是保留原来的再响应一个onchange响应吗?
追答
这个keypress事件其他代码不变
增加一个onchange事件 写一句代码
Q1:=StrToCurr(EditQ1.Text);
suduanhao
2013-03-16 · TA获得超过3234个赞
知道大有可为答主
回答量:3740
采纳率:33%
帮助的人:2303万
展开全部
调试问题是什么?
追问

就是这个!

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式