Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 4 929

/ вопрос открыт /

Приветствую, уважаемые эксперты!
Подскажите пожалуйста как импортировать текст из rtf формата в FastReport, в отчете есть компонент RichText, загрузка через LoadFromStream ничего не дает, Rich остается пустым

Казаков Николай Константинович Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Казаков Николай Константинович (статус: 1-ый класс)
Вопрос отправлен: 18 января 2011, 11:53
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 10; последнее сообщение — 19 января 2011, 09:43; участников в обсуждении: 3.
min@y™

min@y™ (статус: Доктор наук), 18 января 2011, 12:00 [#1]:

Перед LoadFromStream() попробуй у стрима поставить Position:= 0. Вдруг поможет?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Казаков Николай Константинович

Казаков Николай Константинович (статус: 1-ый класс), 18 января 2011, 13:02 [#2]:

из самого Fast загружаю rtf файл все отлично отбражает, а вот как заполнить Rich в RunTime ума не приложу, есть у Rich свойство Memo, но через него не получается, помогите. Position:=0 не помогло
Казаков Николай Константинович

Казаков Николай Константинович (статус: 1-ый класс), 18 января 2011, 13:05 [#3]:

вот код:
var Stream: TFileStream;
.............................................
Stream:=TFileStream.Create('c:\11.rtf',fmOpenReadWrite);
Stream.Position:=0;
frReport1.FindObject('Rich1').LoadFromStream(Stream);
Stream.Free;
min@y™

min@y™ (статус: Доктор наук), 18 января 2011, 13:19 [#4]:

Поставь брейкпойнт на строку
frReport1.FindObject('Rich1').LoadFromStream(Stream);
Когда прога остановится, посмотри в Watches, чему равен Stream.Size.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Казаков Николай Константинович

Казаков Николай Константинович (статус: 1-ый класс), 18 января 2011, 13:36 [#5]:

Sream.Size<>0 (10629) размер файла, пробую вместо Rich использовать Memo и LoadFromStream заполнить таже фигня, Memo пустое, что за мистика?
min@y™

min@y™ (статус: Доктор наук), 18 января 2011, 13:44 [#6]:

Ну тогда я пас. С FastReport никогда не работал.
Хотя погоди... Что возвращает метод FindObject?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
mirt.steelwater

mirt.steelwater (статус: Посетитель), 18 января 2011, 18:31 [#7]:

TRichEdit ( frReport1.FindObject ('Rich1') ).LoadFromStream (Stream);
пробуй явно вызвать
Ⓐ свобода сопротивление солидарность
min@y™

min@y™ (статус: Доктор наук), 18 января 2011, 18:46 [#8]:

Цитата (mirt.steelwater):

TRichEdit ( frReport1.FindObject ('Rich1') ).LoadFromStream (Stream); пробуй явно вызвать

У TRichEdit нету метода LoadFromFile().
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Казаков Николай Константинович

Казаков Николай Константинович (статус: 1-ый класс), 19 января 2011, 08:13 [#9]:

Вот так работает:
(frReport1.FindObject ('Rich1') as TRichView).TRichEdit.Line.LoadFromFile('c:\11.rtf');
Всем спасибо!
mirt.steelwater

mirt.steelwater (статус: Посетитель), 19 января 2011, 09:43 [#10]:

так ведь сначала хотели через поток..
ну да ладно.
такой конструкции
(frReport1.FindObject ('Rich1') as TRichView).TRichEdit.Line.LoadFromFile('c:\11.rtf');
ни разу не видел и не подозревал, что она может работать.
нужно делать хотя бы так:
TRichEdit ( frReport1.FindObject ('Rich1') ).Lines.LoadFromStream (aStream);
или если нужно файл загрузить
TRichEdit ( frReport1.FindObject ('Rich1') ).Lines.LoadFromStream LoadFromFile (aFileName);
Ⓐ свобода сопротивление солидарность

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:38
Выполнено за 0.03 сек.