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

Как лучше отобразить документ

Добавлено: 31 Октябрь 2012, 11:56
soft42
Добрый день.
Есть простое желание - отображать документ в окне. Сейчас это делается через текстовый контрол. Один шрифт, один цвет... Серо :(
Хочется отображать документ с картинками, разными шрифтами и цветами. Сейчас документы хранятся в мемо, но можно и в блоб. Использую С6.1 АВС.

Собственно вопрос - какой формат файла выбрать для отображения - RTF, HTML? Можно ли в одном файле HTML хранить и текст, и рисунки, и чтобы он правильно отображался в окне. В RTF вроде это можно. Желательно без сторонних шаблонов, чтобы потом не было проблем при переходе на новые версии Clarion. Я не слишком много хочу? :mrgreen:

Re: Как лучше отобразить документ

Добавлено: 31 Октябрь 2012, 14:17
samo_let
Хенде хох!
А если в базе держать путь к самому файлу, а сам файл показывать ассоциированной программой?

Re: Как лучше отобразить документ

Добавлено: 31 Октябрь 2012, 14:45
Губин Игорь
Или RTF или чере OLE любой другой контрол. Я использую RTF. Конечно набрано не в ворде, но вполне прилично смотрится

Re: Как лучше отобразить документ

Добавлено: 31 Октябрь 2012, 15:35
soft42
Самолет,
А если в базе держать путь к самому файлу, а сам файл показывать ассоциированной программой?
Не пойдет, надо в проге, без всяких внешних программ. Хотелось бы без всяких файлов, из базы да в окно. МЕМО так и отображается, хорошая скорость, нет мусора/файлов после закрытия. Но зато ограничение 64к. Да, кстати, в С8 мемо не увеличили?
Или RTF или чере OLE любой другой контрол. Я использую RTF. Конечно набрано не в ворде, но вполне прилично смотрится
Игорь, а не скинешь пример такого RTF-файла :D И сразу вопрос - чем формировать RTF? Сохранять из Ворда (так он так раздуется :shock: ) или есть другие специфические редакторы?

Re: Как лучше отобразить документ

Добавлено: 31 Октябрь 2012, 15:37
soft42
Забыл, почта soft42 sobaka mail.ru

Re: Как лучше отобразить документ

Добавлено: 31 Октябрь 2012, 16:01
Губин Игорь
soft42 писал(а):Да, кстати, в С8 мемо не увеличили?
Проблем никаких нет
soft42 писал(а):Игорь, а не скинешь пример такого RTF-файла :D И сразу вопрос - чем формировать RTF? Сохранять из Ворда (так он так раздуется :shock: ) или есть другие специфические редакторы?
Можно открыть практически любой RTF файл. Просто не отображаются колонтитулы, ослабленно отображаются таблицы ну и ещё по-мелочи.

Я формирую в ворде (так привычней), ручками (при необходимости), редактором из примеров (там тот же контрол, т.ч. то что там сделал - точно отобразится).

Re: Как лучше отобразить документ

Добавлено: 31 Октябрь 2012, 17:10
soft42
Спасибо, Игорь, завтра попробую.

Re: Как лучше отобразить документ

Добавлено: 01 Ноябрь 2012, 7:52
soft42
Soft42:Да, кстати, в С8 мемо не увеличили? Игорь:Проблем никаких нет
Игорь, это прикол? Установил С8 и меняю МЕМО на 100 000 байтов, нажимаю кнопку "сохранить", кнопку "сохранить и выйти", выходит без сохранения. Редактор словаря вообще работает? Пробовал и значение меньше 64К - не сохраняет. Может у меня руки кривые :(

Re: Как лучше отобразить документ

Добавлено: 01 Ноябрь 2012, 11:42
Губин Игорь
Извини, переклинило. Я почему-то подумал про ограничение для RTF, было ограничение в старых версиях контрола.
В C8 все ограничения сохранились (как и должно было быть). Я использую для хранения BLOB

Re: Как лучше отобразить документ

Добавлено: 01 Ноябрь 2012, 12:27
soft42
Тогда еще вопрос: можно-ли показывать содержимое BLOB в TEXT-контроле напрямую, без сохранения в файле?
Или обязательно сохранять в файле?
Скомпилировал в шестерке пример RTFnotepad. Там без картинки. Хотелось бы получить пример с картинкой от профи :P

Re: Как лучше отобразить документ

Добавлено: 01 Ноябрь 2012, 13:08
Губин Игорь
soft42 писал(а):Тогда еще вопрос: можно-ли показывать содержимое BLOB в TEXT-контроле напрямую, без сохранения в файле?
Или обязательно сохранять в файле?
Скомпилировал в шестерке пример RTFnotepad. Там без картинки. Хотелось бы получить пример с картинкой от профи :P
1. Да, можно, не через файл, а через String (присваиваешь блоб в стринг, а его уже показываешь).
2. Картинку просто копируешь в редакторе, а в том же нотепаде пасте. И всех делов.
3. Если тебя интересует ЧТО можно сделать, то http://www.metaldata.info/download/pdrs7r.exe (там реадме (кнопка с иконкой на пенли))
4. если тебя интересует код, то

CFGAdress String(CFGAboutSize+100) ! небольшой запас к размеру блоба (практика показала его необходимость, почему, зачем - не знаю, но работает)
...
TEXT,AT(7,7,388,183),USE(?ReadMeText),RTF(TEXT:Field),VSCROLL,BOXED,READONLY
...
?ReadMeText{PROP:Use} = CFGAdress

Сорри, у меня сейчас небольшая запарка, нет времени развёрнуто всё показывать.

Re: Как лучше отобразить документ

Добавлено: 01 Ноябрь 2012, 14:07
soft42
Большое спасибо, Игорь. Дома скачаю и посмотрю пример. Так-как сейчас показываю в TEXT-окне просто текст (и его очень много), то решил атрибут RTF у контрола включать динамически. Исходно без него.
типа
?FILE:Text{prop:Xpos}=133 -устанавливаем начало ТЕХТ-контрола
unhide( ?FILE:Text) - скрываем ТЕХТ-контрол
а как включить/отключить RTF-свойство у контрола? какой PROP?

Отвечать может не только Игорь :mrgreen:

Re: Как лучше отобразить документ

Добавлено: 01 Ноябрь 2012, 15:03
Губин Игорь
soft42 писал(а):Большое спасибо, Игорь. Дома скачаю и посмотрю пример. Так-как сейчас показываю в TEXT-окне просто текст (и его очень много), то решил атрибут RTF у контрола включать динамически. Исходно без него.
типа
?FILE:Text{prop:Xpos}=133 -устанавливаем начало ТЕХТ-контрола
unhide( ?FILE:Text) - скрываем ТЕХТ-контрол
а как включить/отключить RTF-свойство у контрола? какой PROP?

Отвечать может не только Игорь :mrgreen:

TEXT,AT(7,7,388,183),USE(?ReadMeText),RTF(TEXT:Field),VSCROLL,BOXED,READONLY

Re: Как лучше отобразить документ

Добавлено: 01 Ноябрь 2012, 18:10
soft42
Наверно я плохо объяснил. Я хочу динамически включать/отключать RTF-свойство. Ну хорошо, пусть первоначально описано
TEXT,AT(7,7,388,183),USE(?ReadMeText),RTF(TEXT:Field),VSCROLL,BOXED,READONLY
RTF-текст отображается, отлично. Как теперь у этого контрола отключить свойство RTF? Что-бы смотреть обычный текст, не RTF :?:

Или поискать другой вариант...

Re: Как лучше отобразить документ

Добавлено: 01 Ноябрь 2012, 18:47
Губин Игорь
???????????????????????? Не понял смысла. Ты хочешь в одном контроле то отображать как RTF, а то как текст со всем его содержимым?
Мне кажется, что в одном контроле этого сделать нельзя. Самое простое: сделай два поля Text и hide/unhide нужное.