|
Вопрос # 4 929/ вопрос открыт / |
|
Приветствую, уважаемые эксперты!
Подскажите пожалуйста как импортировать текст из rtf формата в FastReport, в отчете есть компонент RichText, загрузка через LoadFromStream ничего не дает, Rich остается пустым
Мини-форум вопроса
Всего сообщений: 10; последнее сообщение — 19 января 2011, 09:43; участников в обсуждении: 3.
|
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™ (статус: Доктор наук), 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™ (статус: Доктор наук), 18 января 2011, 13:44 [#6]:
Ну тогда я пас. С FastReport никогда не работал.
Хотя погоди... Что возвращает метод FindObject?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
mirt.steelwater (статус: Посетитель), 18 января 2011, 18:31 [#7]:
TRichEdit ( frReport1.FindObject ('Rich1') ).LoadFromStream (Stream);
пробуй явно вызвать
Ⓐ свобода сопротивление солидарность
|
|
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 (статус: Посетитель), 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);
Ⓐ свобода сопротивление солидарность
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|