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

📄 locale.c

📁 PocketCMD是与pocketconsole配合实用的命令行解释器(Shell)
💻 C
字号:
/* *  LOCALE.C - locale handling. * * *  History: * *    09-Jan-1999 (Eric Kohl <ekohl@abo.rhein-zeitung.de>) *        Started. * *    20-Jan-1999 (Eric Kohl <ekohl@abo.rhein-zeitung.de>) *        Unicode safe! */#include "config.h"#include "cmd.h"TCHAR cDateSeparator;TCHAR cTimeSeparator;TCHAR cThousandSeparator;TCHAR cDecimalSeparator;INT   nDateFormat;INT   nTimeFormat;TCHAR aszDayNames[7][8];INT   nNumberGroups;VOID InitLocale (VOID){#ifdef LOCALE_WINDOWS	TCHAR szBuffer[256];	INT i;	/* date settings */	GetLocaleInfo (LOCALE_USER_DEFAULT, LOCALE_SDATE, szBuffer, 256);	cDateSeparator = szBuffer[0];	GetLocaleInfo (LOCALE_USER_DEFAULT, LOCALE_IDATE, szBuffer, 256);	nDateFormat = _ttoi (szBuffer);	/* time settings */	GetLocaleInfo (LOCALE_USER_DEFAULT, LOCALE_STIME, szBuffer, 256);	cTimeSeparator = szBuffer[0];	GetLocaleInfo (LOCALE_USER_DEFAULT, LOCALE_ITIME, szBuffer, 256);	nTimeFormat = _ttoi (szBuffer);	/* number settings */	GetLocaleInfo (LOCALE_USER_DEFAULT, LOCALE_STHOUSAND, szBuffer, 256);	cThousandSeparator = szBuffer[0];	GetLocaleInfo (LOCALE_USER_DEFAULT, LOCALE_SDECIMAL, szBuffer, 256);	cDecimalSeparator  = szBuffer[0];	GetLocaleInfo (LOCALE_USER_DEFAULT, LOCALE_SGROUPING, szBuffer, 256);	nNumberGroups = _ttoi (szBuffer);	/* days of week */	for (i = 0; i < 7; i++)	{		GetLocaleInfo (LOCALE_USER_DEFAULT, LOCALE_SABBREVDAYNAME1 + i, szBuffer, 256);		_tcscpy (aszDayNames[(i+1)%7], szBuffer); /* little hack */	}#endif#ifdef LOCALE_GERMAN	LPTSTR names [7] = {_T("So"), _T("Mo"), _T("Di"), _T("Mi"), _T("Do"), _T("Fr"), _T("Sa")};	INT i;	/* date settings */	cDateSeparator = _T('.');	nDateFormat    = 1;			/* ddmmyy */	/* time settings */	cTimeSeparator = _T(':');	nTimeFormat    = 1;			/* 24 hour */	/* number settings */	cThousandSeparator = _T('.');	cDecimalSeparator  = _T(',');	nNumberGroups      = 3;	/* days of week */	for (i = 0; i < 7; i++)		_tcscpy (aszDayNames[i], names[i]);#endif#ifdef LOCALE_DEFAULT        LPTSTR names [7] = {_T("Sun"), _T("Mon"), _T("Tue"), _T("Wed"), _T("Thu"), _T("Fri"), _T("Sat")};	INT i;	/* date settings */	cDateSeparator = _T('-');	nDateFormat = 0;		/* mmddyy */	/* time settings */	cTimeSeparator = _T(':');	nTimeFormat = 0;		/* 12 hour */	/* number settings */	cThousandSeparator = _T(',');	cDecimalSeparator  = _T('.');	nNumberGroups      = 3;	/* days of week */	for (i = 0; i < 7; i++)		_tcscpy (aszDayNames[i], names[i]);#endif}VOID PrintDate (VOID){	TCHAR szDate[32];	GetDateFormat (LOCALE_USER_DEFAULT, DATE_SHORTDATE, NULL, NULL,				   szDate, sizeof (szDate));	ConOutPrintf (_T("%s"), szDate);}VOID PrintTime (VOID){	SYSTEMTIME st;	GetLocalTime (&st);	switch (nTimeFormat)	{		case 0: /* 12 hour format */		default:			ConOutPrintf (_T("Current time is %2d%c%02d%c%02d%c%02d%c\n"),					(st.wHour == 0 ? 12 : (st.wHour <= 12 ? st.wHour : st.wHour - 12)),					cTimeSeparator, st.wMinute, cTimeSeparator, st.wSecond, cDecimalSeparator,					st.wMilliseconds / 10, (st.wHour <= 11 ? 'a' : 'p'));			break;		case 1: /* 24 hour format */			ConOutPrintf (_T("Current time is %2d%c%02d%c%02d%c%02d\n"),					st.wHour, cTimeSeparator, st.wMinute, cTimeSeparator,					st.wSecond, cDecimalSeparator, st.wMilliseconds / 10);			break;	}}

⌨️ 快捷键说明

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