TC官方合作论坛

 找回密码
 立即注册
查看: 1530|回复: 5

[学习心得] 发一个小小的误区,希望大家不要重蹈覆辙……

[复制链接]
发表于 2014-1-16 10:36:19 | 显示全部楼层 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 rainshine 于 2014-1-16 10:38 编辑

咳咳!必须有动画啊!!我搞了好久才会录。。
---------------------------------
功能 渐变显示_消息路由(句柄,消息,w参数,l参数,时间,x坐标,y坐标)    如果(消息==258)
        如果(句柄==控件.获得句柄("编辑框0"))
            如果(w参数==8)
                返回 假
            如果结束
            如果(w参数>#4e00&&w参数<#9fa5)
                返回 假
            否则
                返回 真
            如果结束
        如果结束
    如果结束
返回 假
功能结束
刚开始写这段代码的时候,if语句是这样的:
如果(#4e00<w参数<#9fa5)
可经过调试总是效果不对,于是乎就开始查找原因,打断点看到前面一切正常,就是这个if这里判断不对。
又看了w参数的值,是在这个范围啊……
突然- -,灵光一闪,想起以前学c和pascal的时候的基础知识(打好基础很重要啊!C语言的好多基础性的东西都对我学tc有很大帮助),"<"运算符计算的结果是布尔型,真或者假,表示第一个操作数是否小于第二个操作数……因为结合性是从左向右且优先级相同,所以此表达式的计算过程剖析为:
1、计算  #4e00<w参数  返回的值是真或假  因tc把-1看作真,所以返回值是-1或0,假设这个表达式的值赋值给P
2、计算  P<#9fa5  作为最终的结果  我们可以看一下P的取值范围是-1或0  所以P的值永远小于#9fa5。所以不管P是多少,最终的计算结果永远是真(-1)。
【因为P的值是#4e00<w参数,所以不管这两个操作数是多少(#4e00是常量,所以在此处只有w参数控制表达式的值),最终的计算结果永远是真(-1)。】

好吧好吧 我赶脚我貌似有点学痴了……被数学和物理搞迷糊了,不等式和二次函数……0.0~
其实把表达式前半段赋值给一个变量,再用这个变量做第二步计算就能看出来咯。
就这样~希望大家一如既往地支持,另外,午安嘿嘿。


评分

参与人数 1威望 +5 收起 理由
qisi2012 + 5 感谢分享!

查看全部评分

回复

使用道具 举报

发表于 2014-1-16 11:01:46 | 显示全部楼层
{:soso_e113:}
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-1-16 11:06:31 | 显示全部楼层

这个帖子肯定沉了、
回复 支持 反对

使用道具 举报

发表于 2014-1-16 13:27:03 | 显示全部楼层
楼主好人,顶一下,以后这个弯路我不会走了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-1-16 14:01:03 | 显示全部楼层
aimei_8866999 发表于 2014-1-16 13:27
楼主好人,顶一下,以后这个弯路我不会走了

啊哈谢谢啦。
回复 支持 反对

使用道具 举报

发表于 2014-1-19 17:42:03 | 显示全部楼层
看到后请联系我(关于rainshlne)直接加我QQ 969327708
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-5-19 13:47 , Processed in 0.055945 second(s), 23 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

快速回复 返回顶部 返回列表