⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mmitimedate.c

📁 是一个手机功能的模拟程序
💻 C
📖 第 1 页 / 共 5 页
字号:
        else
        {
            GetMonthTable(&today, 0, 1, &month_table);

            t2=month_table.year-2000;
            t2=t2*13+month_table.month;
            t2=t2*32+month_table.day;
            t2=t2*61+FFS_flashData.opentime[0];
            t2=t2*61+FFS_flashData.opentime[1];
            //	if((t_string<0)||(t_string1==0))
            if( (t2<t3)||(t1==t3) )
            {
                // strcpy(timedate_string3,timedate_string2);
                t3=t2;
                FFS_flashData.latest_alarm.alarm_type=AUTOPOWER;
            }
            else if( t2==t3 )
            {
                FFS_flashData.latest_alarm.alarm_type=AUTOPOWER;                
            }
        }
    }

    for( i=0;i<SCHEDULE_NUMBER;i++ )
    {
        if( ScheDetailIndex[i].index )
        {
            if( ScheDetailIndex[i].ringandt/16 )
            {
                switch( FFS_ScheData.FfsSche[i%SCHEDULE_NUMBER].ringandf%16 )//schedule need change
                {
                case ONCE:

                    t2=ScheDetailIndex[i].date[0]-2000;
                    t2=t2*13+ScheDetailIndex[i].date[1]/256;
                    t2=t2*32+ScheDetailIndex[i].date[1]%256;
                    t2=t2*61+ScheDetailIndex[i].hour;
                    t2=t2*61+ScheDetailIndex[i].minute;
                    //if(t_string>0)
                    if( t2>t1 )
                    {
                        //t_string=strcmp(timedate_string2,timedate_string3);
                        //t_string1=strcmp(timedate_string1,timedate_string3);
                        //if((t_string<0)||(t_string1==0))
                        if( (t2<t3)||(t1==t3) )
                        {
                            //strcpy(timedate_string3,timedate_string2);
                            t3=t2;
                            FFS_flashData.latest_alarm.alarm_type=SCHEDULE_ALARM;
                            FFS_flashData.latest_alarm.schedule_position=i;                             
                        }
                    }
                    break;
                case EVERYDAY:

                    t2=currdate.year-2000;
                    t2=t2*13+currdate.month;
                    t2=t2*32+currdate.day;
                    t2=t2*61+ScheDetailIndex[i].hour;
                    t2=t2*61+ScheDetailIndex[i].minute;
                    // if(t_string>0)
                    if( t2>t1 )
                    {
                        //t_string=strcmp(timedate_string2,timedate_string3);
                        //t_string1=strcmp(timedate_string1,timedate_string3);
                        //if((t_string<0)||(t_string1==0))
                        if( (t2<t3)||(t1==t3) )
                        {
                            //strcpy(timedate_string3,timedate_string2);
                            t3=t2;
                            FFS_flashData.latest_alarm.alarm_type=SCHEDULE_ALARM;
                            FFS_flashData.latest_alarm.schedule_position=i;
                            FFS_flashData.latest_alarm.daily_switch=TRUE;
                            FFS_flashData.latest_alarm.weekly_switch=FALSE;
                            FFS_flashData.latest_alarm.month_switch=FALSE;
                            FFS_flashData.latest_alarm.year_switch=FALSE;
                        }
                    }
                    else
                    {
                        GetMonthTable(&today, 0, 1, &month_table);

                        t2=month_table.year-2000;
                        t2=t2*13+month_table.month;
                        t2=t2*32+month_table.day;
                        t2=t2*61+ScheDetailIndex[i].hour;
                        t2=t2*61+ScheDetailIndex[i].minute;
                        // if((t_string<0)||(t_string1==0))
                        if( (t2<t3)||(t1==t3) )
                        {
                            //strcpy(timedate_string3,timedate_string2);
                            t3=t2;
                            FFS_flashData.latest_alarm.alarm_type=SCHEDULE_ALARM;
                            FFS_flashData.latest_alarm.schedule_position=i;
                            FFS_flashData.latest_alarm.daily_switch=TRUE;
                            FFS_flashData.latest_alarm.weekly_switch=FALSE;
                            FFS_flashData.latest_alarm.month_switch=FALSE;
                            FFS_flashData.latest_alarm.year_switch=FALSE;               
                        }
                    }
                    break;
                case WEEKLY:            // MI18800000270 
                    if( ScheDetailIndex[i].wday != today.week )
                    {
                        if( ScheDetailIndex[i].wday < today.week )    // next week
                        {
                            GetMonthTable(&today, 0, 7-(today.week-ScheDetailIndex[i].wday), &month_table);
                        }
                        else if( ScheDetailIndex[i].wday > today.week )
                        {
                            GetMonthTable(&today, 0, ScheDetailIndex[i].wday-today.week, &month_table);
                        }
                        t2=month_table.year-2000;
                        t2=t2*13+month_table.month;
                        t2=t2*32+month_table.day;
                        t2=t2*61+ScheDetailIndex[i].hour;
                        t2=t2*61+ScheDetailIndex[i].minute;

                        if( t2>t1 )
                        {
                            if( (t2<t3)||(t1==t3) )
                            {
                                t3=t2;
                                FFS_flashData.latest_alarm.alarm_type=SCHEDULE_ALARM;
                                FFS_flashData.latest_alarm.schedule_position=i;
                                FFS_flashData.latest_alarm.wday=ScheDetailIndex[i].wday;
                                FFS_flashData.latest_alarm.weekly_switch=TRUE;
                                FFS_flashData.latest_alarm.daily_switch=FALSE;
                                FFS_flashData.latest_alarm.month_switch=FALSE;
                                FFS_flashData.latest_alarm.year_switch=FALSE; 
                            }
                        }
                    }
                    else
                    {
                        t2=currdate.year-2000;
                        t2=t2*13+currdate.month;
                        t2=t2*32+currdate.day;
                        t2=t2*61+ScheDetailIndex[i].hour;
                        t2=t2*61+ScheDetailIndex[i].minute;
                        if( t2>t1 )
                        {
                            if( (t2<t3)||(t1==t3) )
                            {
                                t3=t2;
                                FFS_flashData.latest_alarm.alarm_type=SCHEDULE_ALARM;
                                FFS_flashData.latest_alarm.schedule_position=i;
                                FFS_flashData.latest_alarm.wday=ScheDetailIndex[i].wday;
                                FFS_flashData.latest_alarm.weekly_switch=TRUE;
                                FFS_flashData.latest_alarm.daily_switch=FALSE;
                                FFS_flashData.latest_alarm.month_switch=FALSE;
                                FFS_flashData.latest_alarm.year_switch=FALSE; 
                            }
                        }
                        else
                        {
                            GetNextWeek(&today_date, 1, &next_date);
                            t2=today_date.year-2000;
                            t2=t2*13+today_date.month;
                            t2=t2*32+today_date.day;
                            t2=t2*61+ScheDetailIndex[i].hour;
                            t2=t2*61+ScheDetailIndex[i].minute;
                            if( t2>t1 )
                            {
                                if( (t2<t3)||(t1==t3) )
                                {
                                    t3=t2;
                                    FFS_flashData.latest_alarm.alarm_type=SCHEDULE_ALARM;
                                    FFS_flashData.latest_alarm.schedule_position=i;
                                    FFS_flashData.latest_alarm.wday=ScheDetailIndex[i].wday;
                                    FFS_flashData.latest_alarm.weekly_switch=TRUE;
                                    FFS_flashData.latest_alarm.daily_switch=FALSE;
                                    FFS_flashData.latest_alarm.month_switch=FALSE;
                                    FFS_flashData.latest_alarm.year_switch=FALSE; 
                                }
                            }
                        }
                    }
                    break;
                case EVERYMONTH:        // MI18800000270
                    t2=currdate.year-2000;
                    t2=t2*13+currdate.month;
                    t2=t2*32+ScheDetailIndex[i].date[1]%256;
                    t2=t2*61+ScheDetailIndex[i].hour;
                    t2=t2*61+ScheDetailIndex[i].minute;
                    if( t2>t1 )
                    {
                        if( (t2<t3)||(t1==t3) )
                        {
                            t3=t2;
                            FFS_flashData.latest_alarm.alarm_type=SCHEDULE_ALARM;
                            FFS_flashData.latest_alarm.schedule_position=i;
                            FFS_flashData.latest_alarm.month_switch=TRUE;                           
                            FFS_flashData.latest_alarm.daily_switch=FALSE; 
                            FFS_flashData.latest_alarm.weekly_switch=FALSE;
                            FFS_flashData.latest_alarm.year_switch=FALSE;
                        }
                    }
                    else
                    {
                        GetMonthTable(&today, 1, 0, &month_table);

                        t2=month_table.year-2000;
                        t2=t2*13+month_table.month;
                        t2=t2*32+month_table.day;
                        t2=t2*61+ScheDetailIndex[i].hour;
                        t2=t2*61+ScheDetailIndex[i].minute;
                        if( (t2<t3)||(t1==t3) )
                        {
                            t3=t2;
                            FFS_flashData.latest_alarm.alarm_type=SCHEDULE_ALARM;
                            FFS_flashData.latest_alarm.schedule_position=i;
                            FFS_flashData.latest_alarm.month_switch=TRUE;                           
                            FFS_flashData.latest_alarm.daily_switch=FALSE; 
                            FFS_flashData.latest_alarm.weekly_switch=FALSE;
                            FFS_flashData.latest_alarm.year_switch=FALSE;       
                        }
                    }
                    break;
                case ANNUALLY:

                    t2=currdate.year-2000;
                    t2=t2*13+ScheDetailIndex[i].date[1]/256;
                    t2=t2*32+ScheDetailIndex[i].date[1]%256;
                    t2=t2*61+ScheDetailIndex[i].hour;
                    t2=t2*61+ScheDetailIndex[i].minute;
                    if( t2>t1 )
                    {
                        if( (t2<t3)||(t1==t3) )
                        {
                            t3=t2;
                            FFS_flashData.latest_alarm.alarm_type=SCHEDULE_ALARM;
                            FFS_flashData.latest_alarm.schedule_position=i;
                            FFS_flashData.latest_alarm.year_switch=TRUE;                            
                            FFS_flashData.latest_alarm.daily_switch=FALSE;
                            FFS_flashData.latest_alarm.weekly_switch=FALSE;
                            FFS_flashData.latest_alarm.month_switch=FALSE;                              
                        }
                    }
                    else
                    {

                        t2=currdate.year+1-2000;
                        t2=t2*13+ScheDetailIndex[i].date[1]/256;
                        t2=t2*32+ScheDetailIndex[i].date[1]%256;
                        t2=t2*61+ScheDetailIndex[i].hour;
                        t2=t2*61+ScheDetailIndex[i].minute;
                        if( t2>t1 )
                        {
                            if( (t2<t3)||(t1==t3) )
                            {
                                t3=t2;
                                FFS_flashData.latest_alarm.alarm_type=SCHEDULE_ALARM;
                                FFS_flashData.latest_alarm.schedule_position=i;
                                FFS_flashData.latest_alarm.year_switch=TRUE;                            
                                FFS_flashData.latest_alarm.daily_switch=FALSE;
                                FFS_flashData.latest_alarm.weekly_switch=FALSE;
                                FFS_flashData.latest_alarm.month_switch=FALSE;                              
                            }
                        }
                    }
                    break;
                }
            }
        }
    }

    //ordinary weekly alarm
    if( FFS_flashData.weeklyAlarm_switch&(0x01<<today.week) )
    {
        t2=currdate.year-2000;
        t2=t2*13+currdate.month;
        t2=t2*32+currdate.day;
        t2=t2*61+FFS_flashData.weeklyAlarm_hour;
        t2=t2*61+FFS_flashData.weeklyAlarm_min;
        //if(t_string>0)
        if( t2>t1 )
        {
            if( (t2<t3)||(t1==t3) )
            {
                //strcpy(timedate_string3,timedate_string2);
                t3=t2;
                FFS_flashData.latest_alarm.alarm_type=ORDINARY_ALARM;
                FFS_flashData.latest_alarm.schedule_position=1;
            }
            else if( t2==t3 )// if(t_string==0)
            {
                FFS_flashData.latest_alarm.alarm_type=ORDINARY_ALARM;
                //FFS_flashData.latest_alarm.schedule_position=1;
            }
        }
        else
        {
            today_date.year=currdate.year;
            today_date.month=currdate.month;
            today_date.day=currdate.day;
            GetNextWeek(&today_date, 1, &next_date);
            t2=next_date.year-2000;
            t2=t2*13+next_date.month;
            t2=t2*32+next_date.day;
            t2=t2*61+FFS_flashData.weeklyAlarm_hour;
            t2=t2*61+FFS_flashData.weeklyAlarm_min;
            // if(t_string>0)
            if( t2>t1 )
            {
                // t_string=strcmp(timedate_string2,timedate_string3);
                // t_string1=strcmp(timedate_string1,timedate_string3);
                // if((t_string<0)||(t_string1==0))
                if( (t2<t3)||(t1==t3) )
                {
                    // strcpy(timedate_string3,timedate_string2);
                    t3=t2;
                    FFS_flashData.latest_alarm.alarm_type=ORDINARY_ALARM;
                    FFS_flashData.latest_alarm.schedule_position=1;
                }
                else if( t3==t2 )//(t_string==0)
                {
                    FFS_flashData.latest_alarm.alarm_type=ORDINARY_ALARM;
                    //FFS_flashData.latest_alarm.schedule_position=1;
                }
            }
        }
    }
    if( FFS_flashData.weeklyAlarm_switch&(0x01<<((today.week+1)%7)) )//add else
    {
        GetMonthTable(&today, 0, 1, &month_table);

        t2=month_table.year-2000;
        t2=t2*13+month_table.month;
        t2=t2*32+month_table.day;
        t2=t2*61+FFS_flashData.weeklyAlarm_hour;
        t2=t2*61+FFS_flashData.weeklyAlarm_min;
        //if(t_string>0)
        if( t2>t1 )
        {
            if( (t2<t3)||(t1==t3) )
            {
                //strcpy(timedate_string3,timedate_string2);
                t3=t2;
                FFS_flashData.latest_alarm.alarm_type=ORDINARY_ALARM;
                FFS_flashData.latest_alarm.schedule_position=1;
            }
            else if( t2==t3 )//(t_string==0)
            {
                FFS_flashData.latest_alarm.alarm_type=ORDINARY_ALARM;
                //FFS_flashData.latest_alarm.schedule_position=1;
            }
        }
        else
        {
            today_date.year=month_table.year;
            today_date.month=month_table.month;
            today_date.day=month_table.day;
            GetNextWeek(&today_date, 1, &next_date);
            t2=next_date.year-2000;
            t2=t2*13+next_date.month;
            t2=t2*32+next_date.day;
            t2=t2*61+FFS_flashData.weeklyAlarm_hour;
            t2=t2*61+FFS_flashData.weeklyAlarm_min;
            // if(t_string>0)
            if( t2>t1 )

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -