9bd9d381c0e64cce08ff4d5328ec0fff4693b5c6
2 * LOCALE.C - locale handling.
7 * 09-Jan-1999 (Eric Kohl)
10 * 20-Jan-1999 (Eric Kohl)
19 TCHAR cThousandSeparator
;
20 TCHAR cDecimalSeparator
;
26 VOID
InitLocale (VOID
)
31 GetLocaleInfo (LOCALE_USER_DEFAULT
, LOCALE_SDATE
, szBuffer
, sizeof(szBuffer
) / sizeof(szBuffer
[0]));
32 cDateSeparator
= szBuffer
[0];
33 GetLocaleInfo (LOCALE_USER_DEFAULT
, LOCALE_IDATE
| LOCALE_RETURN_NUMBER
, (LPTSTR
)&nDateFormat
, sizeof(nDateFormat
) / sizeof(TCHAR
));
36 GetLocaleInfo (LOCALE_USER_DEFAULT
, LOCALE_STIME
, szBuffer
, sizeof(szBuffer
) / sizeof(szBuffer
[0]));
37 cTimeSeparator
= szBuffer
[0];
38 GetLocaleInfo (LOCALE_USER_DEFAULT
, LOCALE_ITIME
| LOCALE_RETURN_NUMBER
, (LPTSTR
)&nTimeFormat
, sizeof(nTimeFormat
) / sizeof(TCHAR
));
41 GetLocaleInfo (LOCALE_USER_DEFAULT
, LOCALE_STHOUSAND
, szBuffer
, sizeof(szBuffer
) / sizeof(szBuffer
[0]));
42 cThousandSeparator
= szBuffer
[0];
43 GetLocaleInfo (LOCALE_USER_DEFAULT
, LOCALE_SDECIMAL
, szBuffer
, sizeof(szBuffer
) / sizeof(szBuffer
[0]));
44 cDecimalSeparator
= szBuffer
[0];
45 GetLocaleInfo (LOCALE_USER_DEFAULT
, LOCALE_SGROUPING
, szBuffer
, sizeof(szBuffer
) / sizeof(szBuffer
[0]));
46 nNumberGroups
= _ttoi(szBuffer
);
49 for (i
= 0; i
< 7; i
++)
51 GetLocaleInfo (LOCALE_USER_DEFAULT
, LOCALE_SABBREVDAYNAME1
+ i
, szBuffer
, sizeof(szBuffer
) / sizeof(szBuffer
[0]));
52 _tcscpy (aszDayNames
[(i
+1)%7], szBuffer
); /* little hack */
57 /* Return date string including weekday. Used for $D in prompt and %DATE% */
61 static TCHAR szDate
[32];
66 len
= GetDateFormat(LOCALE_USER_DEFAULT
, 0, &t
, _T("ddd"), szDate
, sizeof szDate
);
67 szDate
[len
- 1] = _T(' ');
68 FormatDate(&szDate
[len
], &t
, TRUE
);
72 /* Return time in hh:mm:ss.xx format. Used for $T in prompt and %TIME% */
76 static TCHAR szTime
[12];
79 _stprintf(szTime
, _T("%2d%c%02d%c%02d%c%02d"),
80 t
.wHour
, cTimeSeparator
, t
.wMinute
, cTimeSeparator
,
81 t
.wSecond
, cDecimalSeparator
, t
.wMilliseconds
/ 10);