String DyName(int i, int lang) { static const char *day[] = { tt_("date\vSu"), tt_("date\vMo"), tt_("date\vTu"), tt_("date\vWe"), tt_("date\vTh"), tt_("date\vFr"), tt_("date\vSa") }; return i >= 0 && i < 7 ? Nvl(GetLngString(lang, day[i]), GetENUS(day[i])) : String(); }
String DayName(int i, int lang) { static const char *day[] = { tt_("date\vSunday"), tt_("date\vMonday"), tt_("date\vTuesday"), tt_("date\vWednesday"), tt_("date\vThursday"), tt_("date\vFriday"), tt_("date\vSaturday") }; return i >= 0 && i < 7 ? Nvl(GetLngString(lang, day[i]), GetENUS(day[i])) : String(); }
String GetKeyDesc(dword key) { String desc; // key &= 0xFFFF; if(key == 0) return desc; if(key & K_CTRL) desc << t_("key\vCtrl+"); if(key & K_ALT) desc << t_("key\vAlt+"); if(key & K_SHIFT) desc << t_("key\vShift+"); if(key & K_KEYUP) desc << t_("key\vUP "); key &= ~(K_CTRL | K_ALT | K_SHIFT | K_KEYUP); if(key < K_DELTA && key > 32 && key != K_DELETE) return desc + ToUtf8((wchar)key); if(key >= K_NUMPAD0 && key <= K_NUMPAD9) desc << "Num " << (char)(key - K_NUMPAD0 + '0'); else if(key >= K_0 && key <= K_9) desc << (char)('0' + key - K_0); else if(key >= K_A && key <= K_Z) desc << (char)('A' + key - K_A); else if(key >= K_F1 && key <= K_F12) desc << Format("F%d", (int)key - K_F1 + 1); else { static struct { dword key; const char *name; } nkey[] = { { K_TAB, tt_("key\vTab") }, { K_SPACE, tt_("key\vSpace") }, { K_RETURN, tt_("key\vEnter") }, { K_BACKSPACE, tt_("key\vBackspace") }, { K_CAPSLOCK, tt_("key\vCaps Lock") }, { K_ESCAPE, tt_("key\vEsc") }, { K_PAGEUP, tt_("key\vPage Up") }, { K_PAGEDOWN, tt_("key\vPage Down") }, { K_END, tt_("key\vEnd") }, { K_HOME, tt_("key\vHome") }, { K_LEFT, tt_("key\vLeft") }, { K_UP, tt_("key\vUp") }, { K_RIGHT, tt_("key\vRight") }, { K_DOWN, tt_("key\vDown") }, { K_INSERT, tt_("key\vInsert") }, { K_DELETE, tt_("key\vDelete") },{ K_BREAK, tt_("key\vBreak") }, { K_MULTIPLY, tt_("key\vNum[*]") }, { K_ADD, tt_("key\vNum[+]") }, { K_SUBTRACT, tt_("key\vNum[-]") }, { K_DIVIDE, tt_("key\vNum[/]") }, { K_ALT_KEY, tt_("key\vAlt") }, { K_SHIFT_KEY, tt_("key\vShift") }, { K_CTRL_KEY, tt_("key\vCtrl") }, { K_PLUS, tt_("key\v[+]") }, { K_MINUS, tt_("key\v[-]") }, { K_COMMA, tt_("key\v[,]") }, { K_PERIOD, tt_("key\v[.]") }, { K_SEMICOLON, tt_("key\v[;]") }, { K_SLASH, tt_("key\v[/]") }, { K_GRAVE, tt_("key\v[`]") }, { K_LBRACKET, tt_("key\v[[]") }, { K_BACKSLASH, tt_("key\v[\\]") }, { K_RBRACKET, tt_("key\v[]]") }, { K_QUOTEDBL, tt_("key\v[']") }, { 0, NULL } }; for(int i = 0; nkey[i].key; i++) if(nkey[i].key == key) { desc << GetLngString(nkey[i].name); return desc; } desc << Format("%04x", (int)key); } return desc; }
String MonName(int i, int lang) { static const char *month[] = { tt_("sdate\vJan"), tt_("sdate\vFeb"), tt_("sdate\vMar"), tt_("sdate\vApr"), tt_("sdate\vMay"), tt_("sdate\vJun"), tt_("sdate\vJul"), tt_("sdate\vAug"), tt_("sdate\vSep"), tt_("sdate\vOct"), tt_("sdate\vNov"), tt_("sdate\vDec") }; return i >= 0 && i < 12 ? Nvl(GetLngString(lang, month[i]), GetENUS(month[i])) : String(); }
String MonthName(int i, int lang) { static const char *month[] = { tt_("date\vJanuary"), tt_("date\vFebruary"), tt_("date\vMarch"), tt_("date\vApril"), tt_("date\vMay"), tt_("date\vJune"), tt_("date\vJuly"), tt_("date\vAugust"), tt_("date\vSeptember"), tt_("date\vOctober"), tt_("date\vNovember"), tt_("date\vDecember") }; return i >= 0 && i < 12 ? Nvl(GetLngString(lang, month[i]), GetENUS(month[i])) : String(); }