Страница 1 из 1

TRxCalendarGrid - Ошбки отображения

СообщениеДобавлено: 11.05.2010 14:03:02
sobee
В рев. 1220
1. В названиях дней недели появились вопросы при русской локали.
2. В таблице не отображаются все дни недели: отображаются только 4 недели(строки).
Лазарус 0.9.29-фпс-2.5.1-рев.25309, WInXP(SP3)

Re: TRxCalendarGrid - Ошбки отображения

СообщениеДобавлено: 11.05.2010 19:26:30
alexs
упс... забыл...
Вобщем рекомендую вызвать следующую процедуру в начале работы программы в винде:
{$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

Re: TRxCalendarGrid - Ошбки отображения

СообщениеДобавлено: 25.09.2010 10:33:33
sobee
Компонент не полностью отображает строки таблицы. Видно только 5 строк.

Re: TRxCalendarGrid - Ошбки отображения

СообщениеДобавлено: 25.09.2010 11:03:59
alexs
Ага - есть глюк
Правим

Re: TRxCalendarGrid - Ошбки отображения

СообщениеДобавлено: 25.11.2010 10:06:21
sobee
alexs писал(а):Ага - есть глюк
Правим

И где исправления? Или спасение у топающих - дело рук самих утопающих? Тогда подскажи в какую сторону копать. Приходится использовать сборку от 30.04.2010(см. самый первый пост) . После появился этот глюк.

Re: TRxCalendarGrid - Ошбки отображения

СообщениеДобавлено: 25.11.2010 20:41:38
alexs
sobee писал(а):И где исправления? Или спасение у топающих - дело рук самих утопающих

От патча не откажусь :-)

Re: TRxCalendarGrid - Ошбки отображения

СообщениеДобавлено: 12.12.2010 22:21:19
sobee
alexs писал(а):От патча не откажусь :-)

Тогда помоги (или подскажи как) получить файл grids.pas с изменениями с 1 по 9 мая сего года. Так как с Лазарсом от 30.04.2010 все нормально работает, проблема возникла как раз в этот период. С помощью "Черепашки" у меня ничего не получилось.

Re: TRxCalendarGrid - Ошбки отображения

СообщениеДобавлено: 16.12.2010 13:31:54
sobee
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;


И проблемы не будет.

Re: TRxCalendarGrid - Ошбки отображения

СообщениеДобавлено: 16.12.2010 16:24:00
alexs
sobee
Проверяй

Re: TRxCalendarGrid - Ошбки отображения

СообщениеДобавлено: 16.12.2010 17:35:42
sobee
alexs писал(а):sobee
Проверяй

Есть! Подскажи еще порядок действий, чтобы вместо вопросов появились названия дней недели. А в RxDateEdit еще и название месяца.

Re: TRxCalendarGrid - Ошбки отображения

СообщениеДобавлено: 16.12.2010 18:09:13
alexs
Винда?
Код: Выделить всё

{$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 - Ошбки отображения

СообщениеДобавлено: 23.08.2012 15:55:49
agb
Спасибо, помогло!
А почему ShortMonthNames, ShortDayNames и прочие помечены в sysinth.inc как deprecated?
Чем их теперь заменять?

Re: TRxCalendarGrid - Ошбки отображения

СообщениеДобавлено: 23.08.2012 17:11:29
m_guest
А почему ShortMonthNames, ShortDayNames и прочие помечены в sysinth.inc как deprecated?
Чем их теперь заменять?

Используйте переменную FormatSettings из sysinth.inc,
Код: Выделить всё
FormatSettings.ShortMonthNames
FormatSettings.ShortDayNames

Re: TRxCalendarGrid - Ошбки отображения

СообщениеДобавлено: 27.11.2012 18:10:07
Ustas
У меня после операций типа
Код: Выделить всё
LongMonthNames[i]:=UTF8Encode(LongMonthNames[i]);
Касперский нашел в программе вирус (XP, Vista).