注册 登录
编程论坛 C++教室

if嵌套语句配对执行过程请求高手指点???

发布于 2010-05-06 20:05, 1161 次点击
If (P_Process_Load_CV = Pro_LoadCV_LoadingComplete And P_Machine_LD_RunEnable = True)
  If (CMD_LDTF_LDCV_REMOVE_COMPLETE = TRUE And STATUS_LD_TF_LOAD_INTERLOCK = LOCK_OFF)
    If (STATUS_LD_CV_GLASS_EXIST = NONE Or P_RunConfig_Status = RunConfig_VIRTUAL)
      STATUS_LD_CV_GLASS_DATA   = NONE;  
      CMD_LDTF_LDCV_REMOVE_COMPLETE = FALSE;  
      O_SOL_LD_CV_PIN_UP = SOL_OFF      
      O_SOL_LD_CV_PIN_DOWN = SOL_ON
      TmrPinUpDown = P_Cyl_Move_OverTime;
      While (TmrPinUpDown > 0)
        If (I_SEN_LD_CV_PIN_UP = SEN_OFF And I_SEN_LD_CV_PIN_DOWN = SEN_ON)
          TmrPinUpDown = 0;
        EndIf
      EndWhile
      If (I_SEN_LD_CV_PIN_UP != SEN_OFF Or I_SEN_LD_CV_PIN_DOWN != SEN_ON)
        STATUS_ERROR_CODE = ERROR_PIN_DOWN_TIMEOVER
      EndIf
      P_Process_Load_CV = Pro_LoadCV_LoadingReady;
      
    Else
      STATUS_ERROR_CODE = ERROR_LD_CV_GLASS_EXIST;
    EndIf
  EndIf
EndIf

CLOSE

最好请说明程序执行的过程是怎么样子的 IF与ENDIF之间配对过程////??????
10 回复
#2
debroa7232010-05-06 21:08
basic???
#3
Muyoo2010-05-06 23:14
介个……忘得差不多了都
#4
神左手2010-05-07 19:32
不是C++吧!
#5
lijm19892010-05-07 20:01
就是用一个 endif 来标志最近的一个if呗。
如:
if (exp1)  //第一个if
    if(exp2) // 第二个 if
    ....
    endif  // 结束第二个if
    ...
endif // 结束第一个if

最开始的endif 结束 它上面离它最近的if,即说明的那个。
第二个endif 是因为第二个if已经有配对的了。所以继续往上找。
你缩进好点就很容易看了·
#6
yc25757572010-05-07 22:09
就近匹对~~~
#7
2010-05-07 23:46
这不是C++吧,是B语言吧`~
#8
hey20002010-05-08 10:52
if配对各种语言都差不多  就进配对
#9
jmjy2010-05-08 12:11
这不是C++不 C++的问题,是一个逻辑。
#10
apull2010-05-09 18:01
if 和 else/endif 配对。。
条件满足后执行if到else或endif中间的代码。
#11
南国利剑2010-05-13 10:55
版主说的对,
顶版主。
1