|
马上加入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~
其实把表达式前半段赋值给一个变量,再用这个变量做第二步计算就能看出来咯。
就这样~希望大家一如既往地支持,另外,午安嘿嘿。
|
评分
-
查看全部评分
|