除数不能为0的问题 ( 积分: 10 )

  • 主题发起人 主题发起人 追月
  • 开始时间 开始时间

追月

Unregistered / Unconfirmed
GUEST, unregistred user!
在delphi中,当除数为零时,系统会调用异常保护机制,显示"division by zero",这里默认的提示"division by zero"在哪个单元(我是说提示的内容),我在SysUtils单元中怎么找不到?能不能直接将源代码调出来修改为"零不能做除数"。
 
在delphi中,当除数为零时,系统会调用异常保护机制,显示"division by zero",这里默认的提示"division by zero"在哪个单元(我是说提示的内容),我在SysUtils单元中怎么找不到?能不能直接将源代码调出来修改为"零不能做除数"。
 
try
a ;= x/y;
except
on EZeroDivide do
Application.MessageBox('零不能做除数','');
end;
 
try
a ;= x/y;
except
Application.MessageBox('零不能做除数'','提示:',64);
end;


 
1. 该提示在 Rtl/Sys/SysConst.pas 单元里
2. 建议使用 xeen 的方法,捕捉 EZeroDivide 异常
 
三位热心的朋友,我的意思是:系统默认的提示:"division by zero"所在的单元能不能直接修改,就是上面plzw所说的Rtl/Sys/SysConst.pas单元里的
SDivByZero ='Division by zero';直接将这里的常量改为"除数不能为0",我试着改动了一下,好象不起作用。系统弹出的默认提示还是"Division by zero"。
 
系统的东西最好不要修改,修改后可能出现问题
另:你修改控件中的东西也得重新编译才能使用吧
 
如楼上所说,修改Rtl/Sys/SysConst.pas后需要编译后并且将编译的SysConst.dcu复制到{Delphi}/Lib目录下,覆盖之前,请备份原文件。
 
同意Plzw的意见.
 
接受答案了,没想到这么多人帮
 
后退
顶部