我使用的DBEdit,如果输入一个大数,如123456789123456789,焦点转移时会报一个“is not a valid floating point value”的错误,我想捕捉到这个异常,然后将这个提示改为中文的提示消息。这是客户的要求。我为此头疼几天了。请帮忙。如果需要我开贴子,我可以多开几个给分。
...全文
1014打赏收藏
关于DBEdit和异常处理
我使用的DBEdit,如果输入一个大数,如123456789123456789,焦点转移时会报一个“is not a valid floating point value”的错误,我想捕捉到这个异常,然后将这个提示改为中文的提示消息。这是客户的要求。我为此头疼几天了。请帮忙。如果需要我开贴子,我可以多开几个给分。
你的这个问题错误是 由string 向float 转化中发生的。
function StrToFloat(const S: string): Extended;
begin
if not TextToFloat(PChar(S), Result, fvExtended) then
ConvertErrorFmt(@SInvalidFloat, [S]);
end;
而SInvalidFloat在SysConst定义为
SInvalidFloat = '''%s'' is not a valid floating point value';
你可以把上面的汉化成自己想要的东西。