TRxCalendarGrid - Ошбки отображения
Модераторы: alexs, Модераторы
-
sobee
- новенький
- Сообщения: 84
- Зарегистрирован: 04.02.2008 23:23:46
- Откуда: Снежинск, Челябинская обл.
TRxCalendarGrid - Ошбки отображения
В рев. 1220
1. В названиях дней недели появились вопросы при русской локали.
2. В таблице не отображаются все дни недели: отображаются только 4 недели(строки).
Лазарус 0.9.29-фпс-2.5.1-рев.25309, WInXP(SP3)
1. В названиях дней недели появились вопросы при русской локали.
2. В таблице не отображаются все дни недели: отображаются только 4 недели(строки).
Лазарус 0.9.29-фпс-2.5.1-рев.25309, WInXP(SP3)
- alexs
- долгожитель
- Сообщения: 4066
- Зарегистрирован: 15.05.2005 23:17:07
- Откуда: г.Ставрополь
- Контактная информация:
Re: TRxCalendarGrid - Ошбки отображения
упс... забыл...
Вобщем рекомендую вызвать следующую процедуру в начале работы программы в винде:
{$IFDEF WINDOWS}
procedure ConvetToUTF8LocalConst;
var
i:integer;
begin
for i:=1 to 12 do
begin
LongMonthNames[i]:=SysToUTF8(LongMonthNames[i]);
ShortMonthNames[i]:=UTF8Encode(ShortMonthNames[i]);
end;
for i:=1 to 7 do
begin
ShortDayNames[i]:=UTF8Encode(ShortDayNames[i]);
LongDayNames[i]:=UTF8Encode(LongDayNames[i]);
end;
end;
{$ENDIF}
Также не забываем:
ThousandSeparator:=#32;
а вот это уже по вкусу:
ShortDateFormat:='dd.mm.yyyy';
DateSeparator:='.';
Я там завязал весь код на системную локаль - так правильнее. Наверное дефайны поставлю для возврата к старому виду.
Вобще конечно это глюк FPC
Вобщем рекомендую вызвать следующую процедуру в начале работы программы в винде:
{$IFDEF WINDOWS}
procedure ConvetToUTF8LocalConst;
var
i:integer;
begin
for i:=1 to 12 do
begin
LongMonthNames[i]:=SysToUTF8(LongMonthNames[i]);
ShortMonthNames[i]:=UTF8Encode(ShortMonthNames[i]);
end;
for i:=1 to 7 do
begin
ShortDayNames[i]:=UTF8Encode(ShortDayNames[i]);
LongDayNames[i]:=UTF8Encode(LongDayNames[i]);
end;
end;
{$ENDIF}
Также не забываем:
ThousandSeparator:=#32;
а вот это уже по вкусу:
ShortDateFormat:='dd.mm.yyyy';
DateSeparator:='.';
Я там завязал весь код на системную локаль - так правильнее. Наверное дефайны поставлю для возврата к старому виду.
Вобще конечно это глюк FPC
-
sobee
- новенький
- Сообщения: 84
- Зарегистрирован: 04.02.2008 23:23:46
- Откуда: Снежинск, Челябинская обл.
Re: TRxCalendarGrid - Ошбки отображения
Компонент не полностью отображает строки таблицы. Видно только 5 строк.
- alexs
- долгожитель
- Сообщения: 4066
- Зарегистрирован: 15.05.2005 23:17:07
- Откуда: г.Ставрополь
- Контактная информация:
Re: TRxCalendarGrid - Ошбки отображения
Ага - есть глюк
Правим
Правим
-
sobee
- новенький
- Сообщения: 84
- Зарегистрирован: 04.02.2008 23:23:46
- Откуда: Снежинск, Челябинская обл.
Re: TRxCalendarGrid - Ошбки отображения
alexs писал(а):Ага - есть глюк
Правим
И где исправления? Или спасение у топающих - дело рук самих утопающих? Тогда подскажи в какую сторону копать. Приходится использовать сборку от 30.04.2010(см. самый первый пост) . После появился этот глюк.
- alexs
- долгожитель
- Сообщения: 4066
- Зарегистрирован: 15.05.2005 23:17:07
- Откуда: г.Ставрополь
- Контактная информация:
Re: TRxCalendarGrid - Ошбки отображения
sobee писал(а):И где исправления? Или спасение у топающих - дело рук самих утопающих
От патча не откажусь
-
sobee
- новенький
- Сообщения: 84
- Зарегистрирован: 04.02.2008 23:23:46
- Откуда: Снежинск, Челябинская обл.
Re: TRxCalendarGrid - Ошбки отображения
alexs писал(а):От патча не откажусь
Тогда помоги (или подскажи как) получить файл grids.pas с изменениями с 1 по 9 мая сего года. Так как с Лазарсом от 30.04.2010 все нормально работает, проблема возникла как раз в этот период. С помощью "Черепашки" у меня ничего не получилось.
-
sobee
- новенький
- Сообщения: 84
- Зарегистрирован: 04.02.2008 23:23:46
- Откуда: Снежинск, Челябинская обл.
Re: TRxCalendarGrid - Ошбки отображения
alexs писал(а):sobee писал(а):И где исправления? Или спасение у топающих - дело рук самих утопающих
От патча не откажусь
Держи патч для pickdate.pas. Замени текст ниже приведенной процедуры на следующий:
Код: Выделить всё
procedure TCustomRxCalendar.CreateParams(var Params: TCreateParams);
const
ClassStylesOff = CS_VREDRAW or CS_HREDRAW;
begin
inherited CreateParams(Params);
with Params do begin
WindowClass.Style := WindowClass.Style and DWORD(not ClassStylesOff);
Style := Style or WS_VSCROLL or WS_HSCROLL or WS_CLIPCHILDREN;
end;
end;И проблемы не будет.
- alexs
- долгожитель
- Сообщения: 4066
- Зарегистрирован: 15.05.2005 23:17:07
- Откуда: г.Ставрополь
- Контактная информация:
Re: TRxCalendarGrid - Ошбки отображения
sobee
Проверяй
Проверяй
-
sobee
- новенький
- Сообщения: 84
- Зарегистрирован: 04.02.2008 23:23:46
- Откуда: Снежинск, Челябинская обл.
Re: TRxCalendarGrid - Ошбки отображения
alexs писал(а):sobee
Проверяй
Есть! Подскажи еще порядок действий, чтобы вместо вопросов появились названия дней недели. А в RxDateEdit еще и название месяца.
- alexs
- долгожитель
- Сообщения: 4066
- Зарегистрирован: 15.05.2005 23:17:07
- Откуда: г.Ставрополь
- Контактная информация:
Re: TRxCalendarGrid - Ошбки отображения
Винда?
Поробуй при запуске программы вызвать вот эту процедуру
Код: Выделить всё
{$IFDEF MSWindows}
ConvetToUTF8LocalConst;
{$endif}
{$IFDEF WINDOWS}
procedure ConvetToUTF8LocalConst;
var
i:integer;
begin
for i:=1 to 12 do
begin
LongMonthNames[i]:=UTF8Encode(LongMonthNames[i]);
ShortMonthNames[i]:=UTF8Encode(ShortMonthNames[i]);
end;
for i:=1 to 7 do
begin
ShortDayNames[i]:=UTF8Encode(ShortDayNames[i]);
LongDayNames[i]:=UTF8Encode(LongDayNames[i]);
end;
end;
{$ENDIF}
Поробуй при запуске программы вызвать вот эту процедуру
Re: TRxCalendarGrid - Ошбки отображения
Спасибо, помогло!
А почему ShortMonthNames, ShortDayNames и прочие помечены в sysinth.inc как deprecated?
Чем их теперь заменять?
А почему ShortMonthNames, ShortDayNames и прочие помечены в sysinth.inc как deprecated?
Чем их теперь заменять?
Re: TRxCalendarGrid - Ошбки отображения
А почему ShortMonthNames, ShortDayNames и прочие помечены в sysinth.inc как deprecated?
Чем их теперь заменять?
Используйте переменную FormatSettings из sysinth.inc,
Код: Выделить всё
FormatSettings.ShortMonthNames
FormatSettings.ShortDayNames
Re: TRxCalendarGrid - Ошбки отображения
У меня после операций типа Касперский нашел в программе вирус (XP, Vista).
Код: Выделить всё
LongMonthNames[i]:=UTF8Encode(LongMonthNames[i]);