onKeyPress事件中 if Edit1.text > 9 or Edit.text < 0 then begin return; end;
to NetFair; 不行啊。编译都过不了。 [Error] Query_Unit.pas(250): Operator not applicable to this operand type
onKeyPress事件中 if Not (key in ['0'..'9',#13] ) then key:=#0
try strtoint(edit1.text); except on EConvertError do MessageDlg('只能输入数字,请重新输入。',mtError,[mbOK],0); Edit1.SetFocus; exit; end; 为什么不能够捕获到错误????哈哈,你是不是在Delphi编译环境中不能捕获:),你到外面去,直接运行程序就可以实现了。还有,为什么在Delphi中不会捕获错误,是因为你在Debug中设置的当出现错误时显示错误信息(安装Delphi时默认是这样)。你可以去掉这个设置,但不推荐这样。
try strtoint(edit1.text); except on EConvertError do MessageDlg('只能输入数字,请重新输入。',mtError,[mbOK],0); Edit1.SetFocus; exit; end; 为什么不能够捕获到错误????哈哈,你是不是在Delphi编译环境中不能捕获:),你到外面去,直接运行程序就可以实现了。还有,为什么在Delphi中不会捕获错误,是因为你在Debug中设置的当出现错误时显示错误信息(安装Delphi时默认是这样)。你可以去掉这个设置,但不推荐这样。 ==================================== 其实也可的,你再改一下,如是: var i:integer; begin try i:= strtoint(edit1.text); showmessage(inttostr(i)) except on EConvertError do MessageDlg('只能输入数字,请重新输入。',mtError,[mbOK],0); Edit1.SetFocus; exit; end;
to ihihonline(小小) : 你的程序我试了一下,但我发现一个问题,就是只能用DELETE键才能删除输错的数据,而不能用backup键返回删除,如何解决?
if Edit1.text > 9 or Edit.text < 0 then
begin
return;
end;
不行啊。编译都过不了。
[Error] Query_Unit.pas(250): Operator not applicable to this operand type
if Not (key in ['0'..'9',#13] ) then
key:=#0
strtoint(edit1.text);
except
on EConvertError do
MessageDlg('只能输入数字,请重新输入。',mtError,[mbOK],0);
Edit1.SetFocus;
exit;
end;
为什么不能够捕获到错误????哈哈,你是不是在Delphi编译环境中不能捕获:),你到外面去,直接运行程序就可以实现了。还有,为什么在Delphi中不会捕获错误,是因为你在Debug中设置的当出现错误时显示错误信息(安装Delphi时默认是这样)。你可以去掉这个设置,但不推荐这样。
strtoint(edit1.text);
except
on EConvertError do
MessageDlg('只能输入数字,请重新输入。',mtError,[mbOK],0);
Edit1.SetFocus;
exit;
end;
为什么不能够捕获到错误????哈哈,你是不是在Delphi编译环境中不能捕获:),你到外面去,直接运行程序就可以实现了。还有,为什么在Delphi中不会捕获错误,是因为你在Debug中设置的当出现错误时显示错误信息(安装Delphi时默认是这样)。你可以去掉这个设置,但不推荐这样。
====================================
其实也可的,你再改一下,如是:
var
i:integer;
begin
try
i:= strtoint(edit1.text);
showmessage(inttostr(i))
except
on EConvertError do
MessageDlg('只能输入数字,请重新输入。',mtError,[mbOK],0);
Edit1.SetFocus;
exit;
end;
你的程序我试了一下,但我发现一个问题,就是只能用DELETE键才能删除输错的数据,而不能用backup键返回删除,如何解决?