![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Перевод номера месяца в символьное представление месяца [D7, WinXP]
_vl_ © (2007-05-30 12:42:00)А есть ли функция которая возвращает по номеру месяца его название? Или её надо писать самому, что собственно не сложно, но загромождает код программы.
Плохиш (2007-05-30 14:12:00) [1]> @SystemTime--> nil
Плохиш (2007-05-30 14:11:00) [2]Универсальненько :-)
const
SUBLANG_RUSSIAN = $01;
LANG_SYSTEM_RUSSIAN = (SUBLANG_RUSSIAN shl 10) or LANG_RUSSIAN;
LOCALE_RUSSIAN = (SORT_DEFAULT shl 16) or LANG_SYSTEM_RUSSIAN;
...
var
wsDate: WideString;
...
SetLength(wsDate, 127);
GetDateFormatW(LOCALE_RUSSIAN, DATE_LONGDATE, @SystemTime, nil, @wsDate[1], 127);
MessageBoxW(0, @wsDate[1], 'Date', MB_OK);
MBo (2007-05-30 13:43:00) [3]еще вариант - для 3 и 8 (март, август) добавить к строке "a", иначе последний символ заменить на "я"
begin...end (2007-05-30 13:29:00) [4]> ЮЮ © (30.05.07 13:19) [4]
var
A: array [Byte] of Char;
begin
if GetDateFormat(LOCALE_USER_DEFAULT, DATE_LONGDATE, nil, nil, A, sizeof(A)) <> 0 then
ShowMessage(A)
end
ЮЮ (2007-05-30 13:19:00) [5]LongMonthNames[5] = 'Май'
А в хинте, там где часики запузырены, пишет 'мая'. Где взять 'мая', а то не видать мне самолета?
_vl_ (2007-05-30 12:57:00) [6]Спасибо, Плохиш, работает.
А на счет десяти строк, так если изобретать каждый раз велосипед, то никогда не изобретешь самолет.
Плохиш (2007-05-30 12:52:00) [7]ShortMonthNames/LongMonthNames
ЮЮ (2007-05-30 12:49:00) [8]Да уж, полтора десятка строк загромоздят её до невозможного.
Тогда храни в отдельном юните.