回复人:Hank(2000-12-27 18:51:00)  得0分 
惭愧,gameboy999说的对,我主要用BCB写,所以出此笑话,不过我在BCB中还要加一段,从来就没有出过问题:
if (Trim(Edit1.Text)!='') then
begin
try
//...省略
end;
end;我一直认为,用异常处理是最简单的方法。当然,用异常处理时要注意不要在开发环境下运行(F9运行),否则首先激活系统异常。 
 
回复人:Hank(2000-12-27 18:58:00)  得0分 
另外,补充一下,针对在座各位的思路:
如果通过键盘控制,那么除本键盘外,还要控制小键盘(在实际应用过程中,大多数用户喜欢用小键盘输入数字),如果按照各位的方法,用小键盘岂非输入不了?
奉劝各位,用异常处理机制,这也是Borland系列的核心之一! 

解决方案 »

  1.   

     
    最终修改如下,可以处理小键盘,不过我没有再出现错误之后修改,你自己该一下,应该不难,没想到这个问题有这么多人讨论,我讨厌异常,我的目标就是让程序中尽量不出现异常,用异常的话很有可能造成失误,下面的代码挺好的,如果有问题,可以再贴,前面的的确是我考虑不周,没有想到小键盘的这一层,我想这就是问什么有Patch的原因了吧? ^_^ :
    在Edit Keydown or keyUp事件中添加如下代码即可:
    if not (key in [ord('0')..ord('9'),$60..$69,VK_RETURN,VK_TAB,190]) then
      MessageBox(handle,'Please Input A Digital!','Hint',Mb_ok);
      

  2.   

    支持liuchcn
    异常要看你怎么用,譬如说还是这个问题:
    如果用扫描枪输入呢?
    如果用手写笔输入呢?
    如果用粘贴录入呢(这种情况应该很多!)?
    如果……,太多了,录入设备太多,就是因为你考虑的不可能那么多才用异常,否则异常除了分配内存外还有多大用处?
      

  3.   

    建议您访问www.etechbase.net/tech,里面有很多资料,也许可以解决您的问题。
    访问http://168.168.18.11:81/etechbase/advsearch.php将您的问题输入查询内容框,选择不同的精确程度,即可以找到你所需要的答案。效果还是可以的。