做程序员要细心,并且要怀疑自己

   今天周一,接着做上周没完成的一个模块,是根据玩家动作画指示箭头, 按照思路做好后,总是出现一些莫名奇妙的找不到资源文件的错误, CALL.., 因为找不到资源,我一致以为是我在绘图以及资源调用上出错了, 一次次的调试,没发现什么错误, 最后.... ,我一步步的调试, 总算找到根源, 我把CASE语句的语法搞错了, 得不到我要的字符..., 下面是我原来的做法

  1. LDistance:= Ord(ASecPlayer) - Ord(AFirstPlaye);
  2.   case LDistance of
  3.     -1 or 3 : Result := '<';
  4.     1 or -3 : Result := '>';
  5.     2 or -2 : Result := '^';
  6.     else      Result := '@';  
  7.   end;

唉, 发现错误了没, 郁闷死我了, 这个错误导致了1天的工期... ,正确用法如下

  1. LDistance:= Ord(ASecPlayer) - Ord(AFirstPlaye);
  2.   case LDistance of
  3.     -1,3 : Result := '<';
  4.     1,-3 : Result := '>';
  5.     2,-2 : Result := '^';
  6.     else      Result := '@';  
  7.   end;

要用逗号来分割条件, 而不是用or中.....,

 

另外,还有一次我的不细心,导致的一个问题,就是在给数组赋值用FillChar时, 我用Length来标识Size,  唉, 应该用Sizeof , 

 

这些错误, 真是愚昧... ,望大家引以为戒....

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章