feijitou2002 发表于 2014-10-8 13:56:34

请教版主,这个宏为什么没有输出?

short a,b,on

GetData(a, "本机 触摸屏", RW, 0, 3)   //date
GetData(b, "本机 触摸屏", LW, 9020, 3) //now

if a>b then
SetData(on, "本机 触摸屏", LB, 0, 1)
else ifa==b anda>b then   
   SetData(on, "本机 触摸屏", LB, 0, 1)
   elseif a==b anda==b and a>bthen   
    SetData(on, "本机 触摸屏", LB, 0, 1)
end if

LB0没有动作。我另写了一个类似的,这个就可以,好像问题就出现在[]上。
macro_command main()

short c0,b0,on,c1,b1,c2,b2

GetData(c0, "本机 触摸屏", RW, 20, 1)   //date
GetData(b0, "本机 触摸屏", LW, 9020, 1) //now
GetData(c1, "本机 触摸屏", RW, 21, 1)   //date
GetData(b1, "本机 触摸屏", LW, 9021, 1) //now
GetData(c2, "本机 触摸屏", RW, 22, 1)   //date
GetData(b2, "本机 触摸屏", LW, 9022, 1) //now

if c0<b0 then
SetData(on, "本机 触摸屏", LB, 20, 1)
end if

if c1<b1 then
SetData(on, "本机 触摸屏", LB, 21, 1)
end if

if c2<b2 then
SetData(on, "本机 触摸屏", LB, 22, 1)
end if

lzf 发表于 2014-12-3 08:54:49

试试
short a,b,on
on=0
GetData(a, "本机 触摸屏", RW, 0, 3)   //date
GetData(b, "本机 触摸屏", LW, 9020, 3) //now

if a>b then
on=1
SetData(on, "本机 触摸屏", LB, 0, 1)
else ifa==b anda>b then
on=0
   SetData(on, "本机 触摸屏", LB, 0, 1)
   elseif a==b anda==b and a>bthen
on=1
    SetData(on, "本机 触摸屏", LB, 0, 1)
end if

weinview 发表于 2015-4-20 10:58:01

      在你的宏中,对on没有赋值,on在这段宏中只是一个short型变量,值固定,你一直将它赋值给一个寄存器(所有的条件下),肯定不会有输出变化。而在你的第二段宏中,你是对不同的位置进行控制因此可以看到变化。
页: [1]
查看完整版本: 请教版主,这个宏为什么没有输出?