威纶通官方论坛

那位高手帮我看看下面的宏指令出的问题在哪里,多谢!

[复制链接]
发表于 2012-12-16 12:02:25 | 显示全部楼层 |阅读模式
宏指令目的是到达设定日期以后,跳出对话窗口。
提示错误如下:
C7:if语句没有配对的then
C1:出现此项错误时,一般是多了或者少了一个符号。

程序如下:

macro_command main()
int date1[3]
int date2[3]
int win
int password1[4]
int password2[4]
bool lb90_true=true,lb90_off=false

GetData(password1[0], "local HMI", rw, 70, 4)
GetData(password2[0], "local HMI", rw, 50, 4)
GetData(date1[0], "local HMI", rw, 90, 3)
GetData(date2[0], "local HMI", lw, 9020, 3)

if  password1[0]==password2[0] and password1[1]==password2[1] and password1[2]==password2[2] and password1[3]==password2[3] then
SetData(lb90_true, "local HMI", LB, 90, 1)
else  if date2[2]>date1[2] then
  win=27
SetData (lb90_off, "local HMI", LB, 90, 1)
SetData(win, "MITSUBISHI FX3u/FX3G", D, 10, 1)
else  if date2[2]=date1[2] and date2[1]>date1[1] then
   win=27
SetData (lb90_off, "local HMI", LB, 90, 1)
SetData(win, "MITSUBISHI FX3u/FX3G", D, 10, 1)
else  if date2[2]=date1[2]  and date2[1]=date1[1] and date2[0]>=date1[0]   then
  win=27
SetData (lb90_off, "local HMI", LB, 90, 1)
SetData(win, "MITSUBISHI FX3u/FX3G", D, 10, 1)

end if
end macro_command
发表于 2012-12-16 16:11:34 | 显示全部楼层
if语句没有配对的then
 楼主| 发表于 2012-12-16 16:46:01 | 显示全部楼层
是那一句没有没对的then?应该怎么修改?多谢!
发表于 2012-12-17 08:06:32 | 显示全部楼层
你最后两个 else if的判断  应该是 “== ”  不是 “ = ”  吧
 楼主| 发表于 2012-12-17 08:18:17 | 显示全部楼层
是的,这个问题还没有发现,多谢了!真是高手呀,修改完毕,编译通过!多谢了!“==”才是“等于”的意思呀!多多感谢!
发表于 2012-12-24 19:45:20 | 显示全部楼层
回复 5# zysjoy


    “==”不是等于,是比较。
您需要登录后才可以发帖 登录 | 注册

本版积分规则

回复帖子

Archiver|小黑屋|威纶通官网 ( 粤ICP备06054553号 )

GMT+8, 2024-11-1 07:14

Powered by Discuz! X3.4

© 2001-2023 Comsenz Inc.

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