|
|
| version 1.2, 2003/10/21 11:22:05 | version 1.9, 2005/03/20 23:48:03 |
|---|---|
| Line 10 | Line 10 |
| #include "calendar.h" | #include "calendar.h" |
| static BYTE cbuf[8]; | #if !defined(OSLANG_UTF8) |
| #define tchar_2x str_2x | |
| #define tchar_2d str_2d | |
| #else | |
| static const TCHAR tchar_2x[] = _T("%.2x"); | |
| static const TCHAR tchar_2d[] = _T("%.2d"); | |
| #endif | |
| static UINT8 cbuf[8]; | |
| typedef struct { | typedef struct { |
| WORD res; | UINT16 res; |
| BYTE min; | UINT8 min; |
| BYTE max; | UINT8 max; |
| } VIRCAL_T; | } VIRCAL_T; |
| static const VIRCAL_T vircal[6] = { {IDC_VIRYEAR, 0x00, 0x99}, | static const VIRCAL_T vircal[6] = { {IDC_VIRYEAR, 0x00, 0x99}, |
| Line 26 static const VIRCAL_T vircal[6] = { {IDC | Line 35 static const VIRCAL_T vircal[6] = { {IDC |
| {IDC_VIRSECOND, 0x00, 0x59}}; | {IDC_VIRSECOND, 0x00, 0x59}}; |
| static void set_cal2dlg(HWND hWnd, const BYTE *cbuf) { | static void set_cal2dlg(HWND hWnd, const UINT8 *cbuf) { |
| int i; | int i; |
| char work[8]; | TCHAR work[8]; |
| for (i=0; i<6; i++) { | for (i=0; i<6; i++) { |
| if (i != 1) { | if (i != 1) { |
| wsprintf(work, str_2x, cbuf[i]); | wsprintf(work, tchar_2x, cbuf[i]); |
| } | } |
| else { | else { |
| wsprintf(work, str_2d, cbuf[1] >> 4); | wsprintf(work, tchar_2d, cbuf[1] >> 4); |
| } | } |
| SetDlgItemText(hWnd, vircal[i].res, work); | SetDlgItemText(hWnd, vircal[i].res, work); |
| } | } |
| Line 52 static void vircalendar(HWND hWnd, BOOL | Line 61 static void vircalendar(HWND hWnd, BOOL |
| EnableWindow(GetDlgItem(hWnd, IDC_SETNOW), disp); | EnableWindow(GetDlgItem(hWnd, IDC_SETNOW), disp); |
| } | } |
| static DWORD getbcd(char *str, int len) { | static UINT8 getbcd(const TCHAR *str, int len) { |
| DWORD ret; | UINT ret; |
| BYTE c; | TCHAR c; |
| if (!(*str)) { | |
| return(0xff); | |
| } | |
| ret = 0; | ret = 0; |
| while(len--) { | while(len--) { |
| c = *str++; | c = *str++; |
| Line 70 static DWORD getbcd(char *str, int len) | Line 76 static DWORD getbcd(char *str, int len) |
| return(0xff); | return(0xff); |
| } | } |
| ret <<= 4; | ret <<= 4; |
| ret |= (BYTE)(c - '0'); | ret |= (UINT)(c - '0'); |
| } | } |
| return(ret); | return((UINT8)ret); |
| } | } |
| LRESULT CALLBACK ClndDialogProc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp) { | LRESULT CALLBACK ClndDialogProc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp) { |
| char work[32]; | TCHAR work[32]; |
| BYTE b; | UINT8 b; |
| int i; | int i; |
| HWND subwnd; | HWND subwnd; |
| Line 100 LRESULT CALLBACK ClndDialogProc(HWND hWn | Line 106 LRESULT CALLBACK ClndDialogProc(HWND hWn |
| return(FALSE); | return(FALSE); |
| case WM_COMMAND: | case WM_COMMAND: |
| switch (LOWORD(wp)) { | switch(LOWORD(wp)) { |
| case IDOK: | case IDOK: |
| b = GetDlgItemCheck(hWnd, IDC_CLNDREAL); | b = (UINT8)GetDlgItemCheck(hWnd, IDC_CLNDREAL); |
| if (np2cfg.calendar != b) { | if (np2cfg.calendar != b) { |
| np2cfg.calendar = b; | np2cfg.calendar = b; |
| sysmng_update(SYS_UPDATECFG); | sysmng_update(SYS_UPDATECFG); |
| } | } |
| for (i=0; i<6; i++) { | for (i=0; i<6; i++) { |
| GetDlgItemText(hWnd, vircal[i].res, | GetDlgItemText(hWnd, vircal[i].res, |
| work, sizeof(work)); | work, NELEMENTS(work)); |
| b = (BYTE)getbcd(work, 2); | b = getbcd(work, 2); |
| if ((b >= vircal[i].min) && (b <= vircal[i].max)) { | if ((b >= vircal[i].min) && (b <= vircal[i].max)) { |
| if (i == 1) { | if (i == 1) { |
| b = ((b & 0x10) * 10) + (b << 4); | b = ((b & 0x10) * 10) + (b << 4); |