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; 展开
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; 展开
展开全部
自然会有错误。
KeyPress事件发生的时候,edit的值还没有变化
如果原来edit 值为空 当按下1 时 key 的确是1 但是 edit的值还是空
strTocurr自然是异常了
你将Q1:=StrToCurr(EditQ1.Text);
这句话放在 onchange事件里吧
KeyPress事件发生的时候,edit的值还没有变化
如果原来edit 值为空 当按下1 时 key 的确是1 但是 edit的值还是空
strTocurr自然是异常了
你将Q1:=StrToCurr(EditQ1.Text);
这句话放在 onchange事件里吧
追问
多谢你的回答,我再补充问一下,我之前在edit响应了一个keypress的事件,你说的是保留原来的再响应一个onchange响应吗?
追答
这个keypress事件其他代码不变
增加一个onchange事件 写一句代码
Q1:=StrToCurr(EditQ1.Text);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询