st_s_tftcstm1st_cursor_pos_old.u4_stt = st_s_tftcstm1st_cursor_pos.u4_stt; u1_s_tftcstm1st_select_cstm_old = u1_t_select_cstm;
时间: 2023-07-22 18:03:40 浏览: 101
这段代码有两行,分别是:
1. `st_s_tftcstm1st_cursor_pos_old.u4_stt = st_s_tftcstm1st_cursor_pos.u4_stt;`
这行代码将结构体 `st_s_tftcstm1st_cursor_pos` 中的 `u4_stt` 成员的值赋给结构体 `st_s_tftcstm1st_cursor_pos_old` 中的 `u4_stt` 成员。目的是将当前光标位置的状态值保存到旧的光标位置结构体中。
2. `u1_s_tftcstm1st_select_cstm_old = u1_t_select_cstm;`
这行代码将变量 `u1_t_select_cstm` 的值赋给变量 `u1_s_tftcstm1st_select_cstm_old`。这样做是为了保存当前的 `u1_t_select_cstm` 值到旧的选择自定义变量中。
通过这两行代码,可以保存当前的光标位置状态和选择自定义变量,在之后可能需要恢复或进行其他操作时使用。
相关问题
if (u2_a_warning_no == (U2)TFTWARNING_GET_WRN_NO_4500){ if (u1_t_sts == (U1)TFTWARNING_WRN_STS_CYC){ for (u1_t_cnt = (U1)0; u1_t_cnt < (U1)TFTWARNING_SIDE_SONAR_NUM; u1_t_cnt++){ u1_t_sonar_side_sts = u1_s_TftWarningSonarSideDispSts(u2_TFTWARNING_SONAR_SIDE_TBL[u1_t_cnt]); if ((u1_t_sonar_side_sts >(U1)TFTWARNING_SONAR_STS_OFF) && (u1_t_sonar_side_sts < (U1)TFTWARNING_SIDE_SONAR_NUM)){ vd_OBJCMN_UPDATE_REF((PLR_ID_U4)u2_TFTWARNING_CSDOOR_PID_TBL[u1_t_cnt][u1_a_anim_sts], (PLR_FRAME_FT)OBJCMN_SET_ON_REF); if (u1_t_sonar_side_sts == (U1)TFTWARNING_SONAR_STS_NEAR){ vd_OBJCMN_UPDATE_STT((PLR_ID_U4)u2_TFTWARNING_CSDOOR_PID_STT_TBL[u1_t_cnt][u1_a_anim_sts], (PLR_FRAME_U4)u1_TFTWARNING_SONAR_SIDE_NEAR_TBL[u1_t_csr_sts]); } else{ vd_OBJCMN_UPDATE_STT((PLR_ID_U4)u2_TFTWARNING_CSDOOR_PID_STT_TBL[u1_t_cnt][u1_a_anim_sts], (PLR_FRAME_U4)u1_TFTWARNING_4500_SONAR_SIDE_STT_TBL[u1_t_sonar_side_sts]); } } } }
这段代码是一个嵌套的条件语句。首先,检查u2_a_warning_no是否等于TFTWARNING_GET_WRN_NO_4500。如果是,则进入第一个if语句块。
在第一个if语句块中,再次检查u1_t_sts是否等于TFTWARNING_WRN_STS_CYC。如果是,则执行一个for循环,循环变量为u1_t_cnt从0到TFTWARNING_SIDE_SONAR_NUM。
在循环体内部,首先调用函数u1_s_TftWarningSonarSideDispSts来获取u2_TFTWARNING_SONAR_SIDE_TBL[u1_t_cnt]对应的状态值,并将结果存储在u1_t_sonar_side_sts中。
接下来,再次进行条件判断。如果u1_t_sonar_side_sts大于TFTWARNING_SONAR_STS_OFF并且小于TFTWARNING_SIDE_SONAR_NUM,则执行一系列操作。
首先,调用函数vd_OBJCMN_UPDATE_REF来更新引用值,参数为u2_TFTWARNING_CSDOOR_PID_TBL[u1_t_cnt][u1_a_anim_sts]和OBJCMN_SET_ON_REF。
然后,根据u1_t_sonar_side_sts的值进行不同的操作。如果u1_t_sonar_side_sts等于TFTWARNING_SONAR_STS_NEAR,则调用函数vd_OBJCMN_UPDATE_STT来更新状态值,参数为u2_TFTWARNING_CSDOOR_PID_STT_TBL[u1_t_cnt][u1_a_anim_sts]和u1_TFTWARNING_SONAR_SIDE_NEAR_TBL[u1_t_csr_sts]。
否则,调用函数vd_OBJCMN_UPDATE_STT来更新状态值,参数为u2_TFTWARNING_CSDOOR_PID_STT_TBL[u1_t_cnt][u1_a_anim_sts]和u1_TFTWARNING_4500_SONAR_SIDE_STT_TBL[u1_t_sonar_side_sts]。
总体来说,这段代码根据一定条件更新一些引用值和状态值,并且在循环中进行了多次操作。
else{ vd_OBJCMN_UPDATE_REF((PLR_ID_U4)u2_TFTWARNING_ANIM_STS_TBL[TFTWARNING_ANIM_TYPE9_CSR_BASE][u1_a_anim_sts], (PLR_FRAME_FT)OBJCMN_SET_ON_REF); for (u1_t_cnt = (U1)0; u1_t_cnt < (U1)TFTWARNING_SIDE_SONAR_NUM; u1_t_cnt++){ u1_t_sonar_side_sts = u1_s_TftWarningSonarSideDispSts(u2_TFTWARNING_SONAR_SIDE_TBL[u1_t_cnt]); if ((u1_t_sonar_side_sts >(U1)TFTWARNING_SONAR_STS_OFF) && (u1_t_sonar_side_sts < (U1)TFTWARNING_SIDE_SONAR_NUM)){ if (u1_t_sonar_side_sts == (U1)TFTWARNING_SONAR_STS_NEAR){ if (u1_t_csr_sts == (U1)TFTWARNING_SONAR_STS_4500_NEAR){ vd_OBJCMN_UPDATE_REF((PLR_ID_U4)u2_TFTWARNING_SONAR_PID_TBL[u1_t_cnt][u1_a_anim_sts], (PLR_FRAME_FT)OBJCMN_SET_ON_REF); } else{ } } else{ vd_OBJCMN_UPDATE_REF((PLR_ID_U4)u2_TFTWARNING_SONAR_PID_TBL[u1_t_cnt][u1_a_anim_sts], (PLR_FRAME_FT)OBJCMN_SET_ON_REF); vd_OBJCMN_UPDATE_STT((PLR_ID_U4)u2_TFTWARNING_SONAR_PID_STT_TBL[u1_t_cnt][u1_a_anim_sts], (PLR_FRAME_U4)u1_TFTWARNING_SONAR_SIDE_STT_TBL[u1_t_sonar_side_sts]); } } } }
这段代码是一个条件语句,根据条件的结果来执行相应的操作。如果前面的条件不满足,则执行else语句块中的操作。
首先,调用函数vd_OBJCMN_UPDATE_REF来更新引用值,参数为u2_TFTWARNING_ANIM_STS_TBL[TFTWARNING_ANIM_TYPE9_CSR_BASE][u1_a_anim_sts]和OBJCMN_SET_ON_REF。
然后,进行一个for循环,循环变量为u1_t_cnt从0到TFTWARNING_SIDE_SONAR_NUM。
在循环体内部,首先调用函数u1_s_TftWarningSonarSideDispSts来获取u2_TFTWARNING_SONAR_SIDE_TBL[u1_t_cnt]对应的状态值,并将结果存储在u1_t_sonar_side_sts中。
接下来,再次进行条件判断。如果u1_t_sonar_side_sts大于TFTWARNING_SONAR_STS_OFF并且小于TFTWARNING_SIDE_SONAR_NUM,则执行一系列操作。
如果u1_t_sonar_side_sts等于TFTWARNING_SONAR_STS_NEAR,并且u1_t_csr_sts等于TFTWARNING_SONAR_STS_4500_NEAR,则调用函数vd_OBJCMN_UPDATE_REF来更新引用值,参数为u2_TFTWARNING_SONAR_PID_TBL[u1_t_cnt][u1_a_anim_sts]和OBJCMN_SET_ON_REF。
否则,如果u1_t_sonar_side_sts不等于TFTWARNING_SONAR_STS_NEAR,则调用函数vd_OBJCMN_UPDATE_REF来更新引用值,参数为u2_TFTWARNING_SONAR_PID_TBL[u1_t_cnt][u1_a_anim_sts]和OBJCMN_SET_ON_REF。然后,调用函数vd_OBJCMN_UPDATE_STT来更新状态值,参数为u2_TFTWARNING_SONAR_PID_STT_TBL[u1_t_cnt][u1_a_anim_sts]和u1_TFTWARNING_SONAR_SIDE_STT_TBL[u1_t_sonar_side_sts]。
总体来说,这段代码根据一定条件更新一些引用值和状态值,并且在循环中进行了多次操作。
阅读全文