SuperIC社区_

标题: 每周定时事件设置冲突的问题调试 [打印本页]

作者: icezhou    时间: 2016-7-13 17:18
标题: 每周定时事件设置冲突的问题调试
问题描述:
每周事件设置(weekly)有问题例如:用户选择下周一(weekly)23:00-23:30保存产生一个event ,当再次另一事件下周一(weekly)23:40-00:30,机器显示与之前设置的节目冲突的问题

修改方法:
修改计算每周事件的事件的算法,如下:
static MS_BOOL _BK_GetWeeklyMin(MS_S8 s8SWeekDay1, MS_S8 s8EWeekDay1, MS_S8 s8SWeekDay2, MS_S8 s8EWeekDay2)
{
    if (s8SWeekDay1 != s8EWeekDay1)
    {
        if (s8SWeekDay2 != s8EWeekDay2)
        {
            if (s8SWeekDay1 != s8SWeekDay2)
            {
                if (s8SWeekDay1 == s8EWeekDay2)
                {
                    s_u16EMin2 += 24*60;
                    s_u16SMin1 += 24*60;
                    s_u16EMin1 += 2*24*60;
                    return TRUE;
                }
                if (s8EWeekDay1 == s8SWeekDay2)
                {
                    s_u16SMin2 +=24*60;
                    s_u16EMin1 +=24*60;
                    s_u16EMin2 +=2*24*60;
                    return TRUE;
                }
                return FALSE;
            }
            return TRUE;
        }
        if (s8SWeekDay1 == s8SWeekDay2)
        {
            s_u16EMin1 += 24 * 60;
            return TRUE;
        }
        if (s8EWeekDay1 == s8SWeekDay2)
        {
            s_u16EMin1 +=24*60;
            s_u16SMin2 +=24*60;;
            s_u16EMin2 +=24*60;
            return TRUE;
        }
        return FALSE;
    }
    if (s8SWeekDay2 != s8EWeekDay2)
    {
        if (s8SWeekDay1 == s8SWeekDay2)
        {
            s_u16EMin2 += 24 * 60;
            return TRUE;
        }
        if (s8SWeekDay1 == s8EWeekDay2)
        {
            s_u16EMin2 += 24*60;
            s_u16SMin1 +=24*60;
            s_u16EMin1 +=24*60;
            return TRUE;
        }
        return FALSE;
    }
    return s8SWeekDay1 == s8SWeekDay2;
}


作者: bean.yang    时间: 2016-7-15 12:37
技术分享,赞




欢迎光临 SuperIC社区_ (/) Powered by Discuz! X3.3