Коллеги, вопрос - возможно - уже обсуждался, но я что-то не нашел.
Имеем вот такой конфиг: Windows 2008R2 х64 (Windows 7 Prof, Win XP SP3 - на виртуалках, обе 32 бит), Lazarus 1.2 RC1 (1.0.14 - на виртуалках), FPC 2.6.2 во всех случаях. По ряду причин надо показывать пользователю дату в длинном формате, для чего пользуемся FormatDateTime('dd mmmm yyyy', Date) - вместо названия месяца показывает знаки вопроса. Если написать AnsiToUTF8(FormatDateTime('dd mmmm yyyy', Date)) - все ОК, отображает как положено. Ну и ладно бы, но как быть с календарем? К примеру, календарь из RX отображает дни недели и месяцы в виде знаков вопроса. RX скомпилирован с поддержкой русских ресурсов. Куда копать?
FormatDateTime - знаки вопроса вместо месяца
Модератор: Модераторы
-
Penilopa P
- незнакомец
- Сообщения: 6
- Зарегистрирован: 04.04.2011 21:57:05
Чем стандартный календарь не устраивает (вкладка Misc)?
Проект довольно старый, переношу с дельфей. Много, где RX юзается. Если, конечно, проблема неразрешима, то придется выламывать и ставить стандартный календарь. Но как быть с FormatDateTime()? Заворачивать в AnsiToUTF8() - не вариант, стоит задача кроссплатформенности.
alexs писал
Сейчас всё в DefaultFormatSettings
Насчёт проблем. - это фича. Так пока устроен FPC. В дальнейшем может все рещится после перехода к строкам, содержащим признак кодировки.
Я сделал так:
Код: Выделить всё
{$IFDEF WINDOWS}
For i := 1 To 12 Do
Begin
FormatSettings.LongMonthNames[i] := UTF8Encode(FormatSettings.LongMonthNames[i]);
FormatSettings.ShortMonthNames[i] := UTF8Encode(FormatSettings.ShortMonthNames[i]);
End;
For i := 1 To 7 Do
Begin
FormatSettings.LongDayNames[i] := UTF8Encode(FormatSettings.LongDayNames[i]);
FormatSettings.ShortDayNames[i] := UTF8Encode(FormatSettings.ShortDayNames[i]);
End;
{$ENDIF} и еще вот так:
Код: Выделить всё
TranslateUnitResourceStrings('rxconst', PODirectory + 'rxconst.%s.po', Lang, FallbackLang);и все нормально
Добавлено спустя 2 минуты 9 секунд:
Собственно тема
http://www.freepascal.ru/forum/viewtopi ... =18&t=7265
ssadragon, сенкс!
Как-то я забыл, что формат можно переопределить... Туплю уже... Голова пухнет от переизбытка кода...
Трансляцию RX оставлю на потом... Первый вариант мне предпочтительнее - не надо дописывать переконвертацию отформатированных сообщений. А в тех местах, где используется именно календарь от RX, заменю его на стандартный от Лазаря...
Как-то я забыл, что формат можно переопределить... Туплю уже... Голова пухнет от переизбытка кода...
Трансляцию RX оставлю на потом... Первый вариант мне предпочтительнее - не надо дописывать переконвертацию отформатированных сообщений. А в тех местах, где используется именно календарь от RX, заменю его на стандартный от Лазаря...
