Example #1
0
void usbdisk_changeRtc(void)
{
    T_SYSTIME date;
    T_SYSTIME limitDate;
    T_U32 senson;
        
    // 退出 U盘读取文件 time.txt更新 RTC参数
    if (Fwl_GetRTC_FromFile(s_RtcPath, &date))
    {
        SetMinDate(limitDate);
        if (limitDate.year > date.year)
        {
            AK_DEBUG_OUTPUT("UDK: Error time.year:%d older limitDate:%d.\n", 
                date.year, limitDate.year);
            return;
        }
        
        SetMaxDate(limitDate);
        if (limitDate.year < date.year)
        {
            AK_DEBUG_OUTPUT("UDK: Error time.year:%d over limitDate:%d.\n", 
                date.year, limitDate.year);
            return;
        }
        
        senson = Utl_Convert_DateToSecond(&date);
        if (senson >= gb.TickMin && senson <= gb.TickMax)
        {
            Fwl_SetRTCtime(&date);
            if (Fwl_FileDelete(s_RtcPath))
            {
                AK_DEBUG_OUTPUT("UDK: Delete file of time.txt success.\n");
            }
            else
            {
                AK_DEBUG_OUTPUT("UDK: Delete file of time.txt false.\n");
            }
        }
        else
        {
            AK_DEBUG_OUTPUT("UDK: Error time:%x over limit min:%x max:%x.\n", 
                senson, gb.TickMin, gb.TickMax);
        }
    }
}
Example #2
0
/* Property page dialog callback */
INT_PTR CALLBACK
DatePageProc(HWND hwndDlg,
             UINT uMsg,
             WPARAM wParam,
             LPARAM lParam)
{
    PGLOBALDATA pGlobalData;

    pGlobalData = (PGLOBALDATA)GetWindowLongPtr(hwndDlg, DWLP_USER);

    switch (uMsg)
    {
    case WM_INITDIALOG:
        pGlobalData = (PGLOBALDATA)((LPPROPSHEETPAGE)lParam)->lParam;
        SetWindowLongPtr(hwndDlg, DWLP_USER, (LONG_PTR)pGlobalData);

        InitMinMaxDateSpin(hwndDlg, pGlobalData->lcid);
        UpdateDateLocaleSamples(hwndDlg, pGlobalData->lcid);
        InitShortDateCB(hwndDlg, pGlobalData->lcid);
        InitLongDateCB(hwndDlg, pGlobalData->lcid);
        InitShortDateSepSamples(hwndDlg, pGlobalData->lcid);
        /* TODO: Add other calendar types */
        break;

    case WM_COMMAND:
    {
        switch (LOWORD(wParam))
        {
        case IDC_SECONDYEAR_EDIT:
        {
            if(HIWORD(wParam)==EN_CHANGE)
            {
                SetMinData(hwndDlg);
            }
        }
        case IDC_SCR_MAX_YEAR:
        {
            /* Set "Apply" button enabled */
            /* FIXME */
            //PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
        }
        break;
        case IDC_CALTYPE_COMBO:
        case IDC_HIJCHRON_COMBO:
        case IDC_SHRTDATEFMT_COMBO:
        case IDC_SHRTDATESEP_COMBO:
        case IDC_LONGDATEFMT_COMBO:
        {
            if (HIWORD(wParam) == CBN_SELCHANGE || HIWORD(wParam) == CBN_EDITCHANGE)
            {
                /* Set "Apply" button enabled */
                PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
            }
        }
        break;
        }
    }
    break;
    case WM_NOTIFY:
    {
        LPNMHDR lpnm = (LPNMHDR)lParam;
        /* If push apply button */
        if (lpnm->code == (UINT)PSN_APPLY)
        {
            SetMaxDate(hwndDlg, pGlobalData->lcid);
            if(!SetShortDateSep(hwndDlg, pGlobalData->lcid)) break;
            if(!SetShortDateFormat(hwndDlg, pGlobalData->lcid)) break;
            if(!SetLongDateFormat(hwndDlg, pGlobalData->lcid)) break;
            InitShortDateCB(hwndDlg, pGlobalData->lcid);
            /* FIXME: */
            //Sleep(15);
            UpdateDateLocaleSamples(hwndDlg, pGlobalData->lcid);
        }
    }
    break;
    }

    return FALSE;
}