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

本文记录了一次因CASE语句使用不当而导致的一天工期延误的经历,分享了作者在调试过程中发现的问题及解决方法,并提到了使用FillChar时应注意的细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

   今天周一,接着做上周没完成的一个模块,是根据玩家动作画指示箭头, 按照思路做好后,总是出现一些莫名奇妙的找不到资源文件的错误, 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 , 

 

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值