OnBeforePrint - не понял

отредактировано 03:57 Раздел: FastReport 3.0
Есть мноого полей, в которых надо -1 заменить на х
Почему это работает
procedure Memo61OnBeforePrint(Sender: TfrxComponent);
begin
  if value='-1' then
    Memo61.text:='x';
end;

А это нет
procedure Memo61OnBeforePrint(Sender: TfrxComponent);
begin
  if value='-1' then
    TfrxMemoView(Sender).text:='x';
end;
Неужели надо писать для каждого поля отдельно!?

Комментарии

  • dron-sdron-s Россия
    отредактировано October 2005
    pasko
    можно попробывать через перебор компонентов
    for i:=0 to ComponentCount-1 do
     if Components[i] is TfrxMemoView then
        begin
          (Components[i] as TfrxMemoView).lines.add('dfd');
        end;
    
    но как это реализовать в скрипте фаста не т пока представлений ;)
  • отредактировано 03:57
    Попробуйте использовать событие
    procedure Memo61OnAfterData(Sender: TfrxComponent);
    begin
    SetXValue(  TfrxMemoView (Sender ));
    end;
    
    procedure SetXValue( m : TfrxMemoView );
    begin
    if m.Value = '-1' then
      m.Text := 'x';
    end;
    
  • отредактировано 03:57
    написал:
    Почему это работает

    CODE 
    procedure Memo61OnBeforePrint(Sender: TfrxComponent);
    begin
    if value='-1' then
      Memo61.text:='x';
    end;


    Вообще то, по утверждениям разработчиков (
    http://www.fast-report.com/en/forum/?p=/discussion/2259
    ), мемка Memo61 в рантайме в скрипте недоступна и такая запись должна где-то чего-то портить
  • отредактировано 03:57
    2vlad_galaxy
    Спасибо! Работает.

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.