Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Перевод номера месяца в символьное представление месяца [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]

Да уж, полтора десятка строк загромоздят её до невозможного.
Тогда храни в отдельном юните.


Наверх

Титульная страница Поиск, карта сайта Написать письмо