delphi 里面的try问题

begintrymessagebox(strtoint(edit1.Text),strtoint(edit2.Text));except//showmessage('我不... begin
try
messagebox(strtoint(edit1.Text),strtoint(edit2.Text));
except
//showmessage('我不知道你输入的是什么东西!');
messagebox(handle,'我不知道你输入的是什么','系统提示',mb_ok or mb_iconstop);
end;
end;

上面的showmessage 没问题.但是用messagebox就提示这错误了
但是.这语法上没有错啊.我在其它程序上用.没有出错的
为什么在这个程序里面用就出错了
展开
 我来答
景茹炜L8
2012-10-27 · TA获得超过481个赞
知道小有建树答主
回答量:617
采纳率:0%
帮助的人:371万
展开全部
1、MessageBox的第二个参数是PWideChar,即字符串格式,你的StrToInt(Edit2.Text)的返回值是整型的,当然会触发异常了。
2、在异常处理语句中,ShowMessage();要求的参数是字符串形式,showmessage('我不知道你输入的是什么东西!');这个语法上没有问题。
3、在异常处理语句中,messagebox(handle,'我不知道你输入的是什么','系统提示',mb_ok or mb_iconstop);这个参数格式也正确,语法上没有问题。
4、解决办法:按第二个MessageBox的格式,把Try部分的MessageBox参数改一下即可。只要参数正确,这个语句可以不用Try的(但你的StrToInt函数,可能在Edit中的值无法转换成整型时触发异常)。
追问
对啊.就是判断对方输入的不是数字的时候判断.那要怎么改啊
追答
Delphi 2010以上的版本,TEdit有个属性NumbersOnly,设置为True就可以了,不需要写代码的。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
众口说车
2012-10-27 · TA获得超过2323个赞
知道大有可为答主
回答量:3503
采纳率:50%
帮助的人:1463万
展开全部
其实,你可以换个思路,就是让对方只能输入数字!
追问
不会啊.怎么实现
追答
在Edit的OnKeyPress事件中 
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if (Ord(Key)127) then
  Key:=#0;
end;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式