做程序員要細心,並且要懷疑自己

   今天週一,接着做上週沒完成的一個模塊,是根據玩家動作畫指示箭頭, 按照思路做好後,總是出現一些莫名奇妙的找不到資源文件的錯誤, 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 , 

 

這些錯誤, 真是愚昧... ,望大家引以爲戒....

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