How can I load file to TfrxRichView

отредактировано August 2005 Раздел: FastReport 3.0
Могу ли ;) я в RichEdit загрузить rtf файл на лету
в процессе формирования отчёта?

Задача такая: по мере получения имён файлов подгружать
их содержимое в RichEdit. ;)

Для обычных Memo всё отлично срабатывает как это бороть с RichView? ;)

И ещё особенность такая: загрузка RichView из Stream
не позволяет загружать только что поднятый из файла
RTF c помощью FileStream - возможно что там совсем
другой формат. а в RichView.RichEdit я вообще не нашёл
как туда rtf лудить.

помогайте ;)

Комментарии

  • отредактировано August 2005
    Вот такой вариант использования
    <span style='color:green'>aRichView.RichEdit.Lines.LoadFromFile('Dummy.rtf');</span>
    даёт
    <span style='color:red'>aRich1: Error in expression 'dump symbols tracing' : ';' expected</span>

    при этом тот же файл шикарно подгружается в дизайнере.

    Прям горе какое-то.
    как туда влудить Rtf ?! ;) загадка ;) .

    В исходниках FastReport открытие файла описано так
    <span style='color:green'>procedure TfrxRichEditorForm.FileOpen(Sender: TObject);
    begin
    ..OpenDialog.Filter := frxResources.Get('ftRichFile') + ' (*.rtf)|*.rtf';
    ..if OpenDialog.Execute then
    ....begin
    ......<span style='color:red'> RichEdit1.Lines.LoadFromFile(OpenDialog.FileName);</span>

    ......RichEdit1.SetFocus;
    ......SelectionChange(Self);
    ....end;
    end;</span>

    И работает. а я при формировании отчёта то же самое не могу сделать. Почему?
  • отредактировано 00:18
    Фокус покус ;) :
    1) RTF Файлы полученные из Word подгружаются.
    2) RTF Файл полученные из SynEdit не подгружаются, причём в дизайне он загружается в окно и отлично работает во всех редакторах поддерживающих RTF он тоже открывается без проблем, как я понимаю, значит RTF синтаксис соблюдён.

    Поломка происходит только при формировании результирующего отчёта.
    это пример содержимого rtf файла, который выводит из строя fast report:

    <span style='color:green'>{\rtf1\ansi\deff0\deftab720{\fonttbl{\f0\fmodern Courier New;}}
    {\colortbl\red255\green0\blue255;\red0\green0\blue255;\red0\green0\blue0;\red0\green128\blue0;\red0\green128\blue128;}
    {\info{\comment Generated by the SynEdit RTF exporter}
    {\title Untitled}}
    \deflang1033\pard\plain\f0\fs20 \cf0 dim \cf1 sl \cf0 as \cf1 TStringList
    \par \cf0 dim \cf1 i\cf2 ,\cf1 j\cf2 ,\cf1 k \cf0 as int
    \par
    \par sub \cf1 dump_symbols
    \par trace\cf2 (\cf3 "==[dump symbols tracing]=="\cf2 )
    }</span>

    Как выяснилось что загруженный в дизайне rtf при отображении отчёта даст ту же ошибку. <span style='color:red'>А теперь главный вопрос. как это починить?</span>
  • отредактировано August 2005
    Мне стыдно ;)
    Всё что было выше случилось вот из-за чего:

    нужно было выводить текст скриптов в отчёт:

    <span style='font-family:Courier'><span style='color:green'> trace("
    ")
    trace("Checkpoint")
    MyObj.Item[<span style='color:red'>"prop_1"</span>] = Now
    trace(MyObj.Item[<span style='color:red'>"prop_1"</span>])</span></span>

    Соотвественно всё что в квадратных скобках требовало переменных.

    Два дня поисков.
    какой позор ;) .

    Для тех кто наступит на те же грабли есть свойство AllowExpressions в RichView

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

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