在调试运行的时候确实是先出现Delphi的异常,但在程序独立运行时,如果你写了自己的异常处理,则是你自己的异常提示出现。
解决方案 »
- delphi中实现excel的树形编号???
- 请教关于一个系统使用多个数据模块和adoconnetion的问题
- 输入法问题,请问如何设定'智能ABC'输入法,全角.半角功能。
- 獲取網管或路由器的mac值?
- 我现在总是抱怨工资低,突然想到如果把老板当成自己的客户,我们应该给他提供些什么服务,大家来讨论一下
- 为何在Delphi中使用MsComm控件对串口进行访问时使用byte或byte型的数组报错
- 招聘北京应届毕业生。。。!!!
- 小问题,大家帮
- Oracle + SQLConnection + SQLClientDataSet + DataSetProvider + ClientDataSet 无法保存,高分求助,从不欠账!
- 有关delphi中数据库问题2个(修改数据库里的值,与获得数据的值)
- 如何将TADOQuery对象中的记录集传给一个TADOTable对象?
- DelPhi也不过如此,失望!失望!网格无法实现最基本功能,如显示为AA、BB、CC,但保存得值为1、2、3,类似实现dblookup功能。有其它方法吗?若其它控件吗?
DBGrid1.Fields[i].EditFormat:='####.###';
begin
try
StrToFloat(Text);
except
Showmessage('No');
end;
end;
procedure TForm1.aaSetText(Sender: TField; const Text: String);
begin
try
StrToFloat(Text);
except
Showmessage('No');
Exti;
end;
Sender.Value := Text;
end;
我最想要的结果是:用户输入的时候就已经不能输入非法的数字,而不是
输入完了再判断(是不是有点挑剔?呵呵)
(在外层在包上一层判断是否光标在你需要的列中 就OK 了)
If not (Key in ['0'..'9','.',#8, #13]) then Key:=#0;
If Key ='.' then
begin
If (Pos('.', Edit1.Text) > 0)or(Edit1.text='') then Key:=#0;
end;
1.重载Application.onException,不过这时要判断异常的类别,否则你所发生的任何异常可能都要出现一个“浮点数错误”的提示框,岂非莫名其妙
2.在字段OnSetText当中写try...except,可以实现
以上两种方法我都用过,没有任何问题。