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

📄 s_sysset.c

📁 dragon ball vz328 上的一个例子程序。 用于做手持仪表用。
💻 C
📖 第 1 页 / 共 2 页
字号:
        switch (IrptGetData((P_U32)&id, (P_U32*)&inData, (P_U32)&size)) {
        case IRPT_RTC:
            AnyGetTime(read_time);      
            break;
        case IRPT_ICON:
            if (ActiveAreaRead(id,&xSrc,&ySrc,&xDest,&yDest) 
                != PPSM_OK) rv = PPSM_ERROR;
            if (InvRec(xSrc+1,ySrc+1,(xDest-(xSrc+1)),(yDest-(ySrc+1)))
                != PPSM_OK) rv = PPSM_ERROR;
            if (*inData == PPSM_ICON_PEN_UP) {
                EL_Open(); 
                BUZZER_ON();
                if (id==okIconId) {
                    if ((yearnum==0)&&(monthnum==0)&&(daynum==0)&&(hournum==0)&&(minutenum==0)&&(secondnum==0))
                        goto ret_flag;
                    //TimeDateTxtToBCD(yeartime ,monthtime ,daytime ,hourtime ,minutetime ,secondtime ,set_time,&set_year_time);  
					TimeDateTxtToBCDNew(yeartime ,monthtime ,daytime ,hourtime ,minutetime ,secondtime ,set_time,&set_year_time);
                    //if (SetRealTime(set_time[5],set_time[4],set_time[3],set_time[2],7,set_time[1],set_year_time)!=1)   rv= PPSM_ERROR;
                    if (SetRealTime(set_time[4],set_time[3],set_time[2],set_time[1],0x07,set_time[0],set_year_time)!=1)   rv= PPSM_ERROR;
					if (FirstGetData(read_time)!=1 )  rv= PPSM_ERROR;
                    JudgeTimeSet(read_time,set_time,&set_year_time);
                    ret_flag:
                    CursorSetStatus(PPSM_CURSOR_OFF);   
                    if (AdvMessageDelete(SetTimeAppID, IRPT_ICON, -1) !=PPSM_OK) rv = PPSM_ERROR;
                    if (AdvSendMessage(SystemSetAppID, NULL, SWAP_TASK) 
                        != PPSM_OK) rv= PPSM_ERROR;
                    CursorSetStatus(PPSM_CURSOR_OFF);                                      
                    break;                           
                } else if (id==canIconId ) {
                    if (AdvMessageDelete(SetTimeAppID, IRPT_ICON, -1) !=PPSM_OK) rv = PPSM_ERROR;
                    if (AdvSendMessage(SystemSetAppID, NULL, SWAP_TASK)
                        != PPSM_OK) rv= PPSM_ERROR;
                    CursorSetStatus(PPSM_CURSOR_OFF);                                      
                    break; 
                } else if (id==yearId ) {
                    setdateflag =  SETYEARMODE;    
                    yearnum=0;
                    ClearRec(WHITE,90,158,18,32,REPLACE_STYLE);    
                    gCursorXPos =  90;   
                    gCursorYPos =  183;
                    CursorSetPos(gCursorXPos,gCursorYPos); 
                } else if (id==monthId ) {
                    setdateflag =  SETMONTHMODE;    
                    monthnum=0;
                    ClearRec(WHITE,90,126,18,16,REPLACE_STYLE);  
                    gCursorXPos =  90;
                    gCursorYPos =  135;
                    CursorSetPos(gCursorXPos,gCursorYPos);
                } else if (id==dayId ) {
                    setdateflag =  SETDAYMODE;    
                    daynum=0;
                    ClearRec(WHITE,90,94,18,16,REPLACE_STYLE);  
                    gCursorXPos =  90;
                    gCursorYPos =  103;                
                    CursorSetPos(gCursorXPos,gCursorYPos);
                } else if (id==hourId ) {
                    setdateflag =  SETHOURMODE;   
                    hournum=0;
                    ClearRec(WHITE,110,164,18,16,REPLACE_STYLE);  
                    gCursorXPos =  110;
                    gCursorYPos =  172;                 
                    CursorSetPos(gCursorXPos,gCursorYPos);
                } else if (id==minuteId ) {
                    setdateflag =  SETMINUTEMODE;       
                    minutenum=0;
                    ClearRec(WHITE,110,132,18,16,REPLACE_STYLE);  
                    gCursorXPos =  110;
                    gCursorYPos =  141;             
                    CursorSetPos(gCursorXPos,gCursorYPos);
                } else if (id==secondId ) {
                    setdateflag =  SETSECONDMODE;     
                    secondnum=0;
                    ClearRec(WHITE,110,100,18,16,REPLACE_STYLE);  
                    gCursorXPos =  110;
                    gCursorYPos =  109;            
                    CursorSetPos(gCursorXPos,gCursorYPos);
                }
                keyval=GetKeyChar_Letter(id);   
                if (keyval ==10 ) {//退格键
                    switch (setdateflag) {
                    case SETYEARMODE:
                        if (yearnum>0) {
                            yearnum--;
                            yeartime[yearnum]=0;
                            gCursorYPos=gCursorYPos+8;
                            CursorSetPos(gCursorXPos,gCursorYPos); 
                            ClearRec(WHITE,90,158,18,32,REPLACE_STYLE);   
                            if (PutString270((P_TEXT)yeartime,50,90,16,16) !=PPSM_OK) rv=PPSM_ERROR;
                        }
                        break;
                    case SETMONTHMODE:
                        if (monthnum>0) {
                            monthnum--;
                            monthtime[monthnum]=0;
                            gCursorYPos=gCursorYPos+8;
                            CursorSetPos(gCursorXPos,gCursorYPos); 
                            ClearRec(WHITE,90,126,18,16,REPLACE_STYLE);
                            if (PutString270((P_TEXT)monthtime,98,90,16,16) !=PPSM_OK) rv=PPSM_ERROR;
                        }
                        break;
                    case SETDAYMODE:
                        if (daynum>0) {
                            daynum--;
                            daytime[daynum]=0;
                            gCursorYPos=gCursorYPos+8;
                            CursorSetPos(gCursorXPos,gCursorYPos); 
                            ClearRec(WHITE,90,94,18,16,REPLACE_STYLE);  
                            if (PutString270((P_TEXT)daytime,130,90,16,16) !=PPSM_OK) rv=PPSM_ERROR;
                        }
                        break;
                    case SETHOURMODE:
                        if (hournum>0) {
                            hournum--;
                            hourtime[hournum]=0;
                            gCursorYPos=gCursorYPos+8;
                            CursorSetPos(gCursorXPos,gCursorYPos); 
                            ClearRec(WHITE,110,164,18,16,REPLACE_STYLE);  
                            if (PutString270((P_TEXT)hourtime,60,110,16,16) !=PPSM_OK) rv=PPSM_ERROR;
                        }
                        break;
                    case SETMINUTEMODE:
                        if (minutenum>0) {
                            minutenum--;
                            minutetime[minutenum]=0;
                            gCursorYPos=gCursorYPos+8;
                            CursorSetPos(gCursorXPos,gCursorYPos); 
                            ClearRec(WHITE,110,132,18,16,REPLACE_STYLE);  
                            if (PutString270((P_TEXT)minutetime,90,110,16,16) !=PPSM_OK) rv=PPSM_ERROR;
                        }
                        break;
                    case SETSECONDMODE:
                        if (secondnum>0) {
                            secondnum--;
                            secondtime[secondnum]=0;
                            gCursorYPos=gCursorYPos+8;
                            CursorSetPos(gCursorXPos,gCursorYPos); 
                            ClearRec(WHITE,110,100,18,16,REPLACE_STYLE); 
                            if (PutString270((P_TEXT)secondtime,122,110,16,16) !=PPSM_OK) rv=PPSM_ERROR;
                        }
                        break;
                    }
                }
                if ( keyval !=0&&keyval!=10 ) {
                    switch (setdateflag) {
                    case SETYEARMODE:
                        {
                            if (yearnum<4) {

                                yeartime[yearnum]=   keyval;   
                                yearnum++;
                                id=0;     
                                if (yearnum!=4) {
                                    gCursorYPos=gCursorYPos-8;
                                    CursorSetPos(gCursorXPos,gCursorYPos);   
                                }
                                if (PutString270((P_TEXT)yeartime,50,90,16,16)
                                    !=PPSM_OK) rv=PPSM_ERROR;
                            }
                            break;
                        }    
                    case SETMONTHMODE:
                        {                              
                            if (monthnum<2) {

                                monthtime[monthnum]=   keyval;   
                                monthnum++;  
                                id=0;     
                                if (monthnum!=2) {
                                    gCursorYPos=gCursorYPos-8;
                                    CursorSetPos(gCursorXPos,gCursorYPos);  
                                }
                                if (PutString270((P_TEXT)monthtime,98,90,16,16)
                                    !=PPSM_OK) rv=PPSM_ERROR;
                            }
                            break;
                        }
                    case SETDAYMODE:
                        {
                            if (daynum<2) {

                                daytime[daynum]=   keyval;    
                                daynum++; 
                                id=0;     
                                if (daynum!=2) {
                                    gCursorYPos=gCursorYPos-8;
                                    CursorSetPos(gCursorXPos,gCursorYPos);
                                }
                                if (PutString270((P_TEXT)daytime,130,90,16,16)
                                    !=PPSM_OK) rv=PPSM_ERROR;
                            }
                            break;
                        }
                    case SETHOURMODE:
                        {
                            if (hournum<2) {

                                hourtime[hournum]=   keyval; 
                                hournum++;  
                                id=0; 
                                if (hournum!=2) {
                                    gCursorYPos=gCursorYPos-8;
                                    CursorSetPos(gCursorXPos,gCursorYPos);    
                                }
                                if (PutString270((P_TEXT)hourtime,60,110,16,16)
                                    !=PPSM_OK) rv=PPSM_ERROR;
                            }
                            break;
                        }
                    case SETMINUTEMODE:
                        {
                            if (minutenum<2) {
                                minutetime[minutenum]=   keyval;     
                                minutenum++; 
                                id=0;        
                                if (minutenum!=2) {
                                    gCursorYPos=gCursorYPos-8;
                                    CursorSetPos(gCursorXPos,gCursorYPos);    
                                }
                                if (PutString270((P_TEXT)minutetime,90,110,16,16)
                                    !=PPSM_OK) rv=PPSM_ERROR;
                            }
                            break;
                        }
                    case SETSECONDMODE:
                        {
                            if (secondnum<2) {

                                secondtime[secondnum]=   keyval;    
                                secondnum++; 
                                id=0;
                                if (secondnum!=2) {
                                    gCursorYPos=gCursorYPos-8;
                                    CursorSetPos(gCursorXPos,gCursorYPos);     
                                }
                                if (PutString270((P_TEXT)secondtime,122,110,16,16)
                                    !=PPSM_OK) rv=PPSM_ERROR;
                            }
                            break;
                        }  
                    }
                }
            }
        default:
            break;
        }
    }  
}

⌨️ 快捷键说明

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