Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: вывод текста в RichEdit  (Прочитано 15298 раз)
0 Пользователей и 1 Гость смотрят эту тему.
kaka777
Гость
« : 17-04-2008 09:45 » 

всем привет! проблемка вот в чем: когда загружаю в компонент РичЕдит вордовскый документ то виводится строка карказяблыкив(квадратики всякие) а не текст, но когда я с ворда скопировал содержимое и вставил в РичЕдит и сохранил докум. то в последствии откривался и отображался текст нормально! как зделать чтоби етого избежать и откривать документ коректно без етого гемороя. заранее спосибо за ответ
Записан
Вад
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 17-04-2008 10:27 » 

Меня терзают смутные сомненья... А кто сказал, что RichEdit держит формат Word? Он просто расширенные возможности по форматированию поддерживает. Я RichEdit-ом как-то не пользовался, насколько понял при беглом просмотре MSDN, надо либо формат RTF использовать, либо для формата .doc использовать стороннюю библиотеку или писать свою в соответствии с форматом Улыбаюсь
Записан
kaka777
Гость
« Ответ #2 : 18-04-2008 06:34 » 

зделав доковский документ в формате РТФ, в результате текст отображается вроде нормально, а вот табличка-УЖАС! если не РичЕдитом отображать то каким компонентом?(Мемо полем?). если да или другим, если нужно подключить некоторые библиотеки подскажите пожалуйста(может пример).просто нужно чтоб отображалля доковский документ коректно  Не понял Здесь была моя ладья...
Записан
zubr
Команда клуба

by
Offline Offline
Пол: Мужской

« Ответ #3 : 18-04-2008 06:52 » 

kaka777, можно использовать Ole-контейнер или TWebBrowser
Записан
kaka777
Гость
« Ответ #4 : 21-04-2008 07:17 » 

все класно отображаэтся через ОЛЕ контейнер(доковски документи), но есть одна деталь, немогу зделать полосу прокрутки! метода такова нет (скрул), но зато есть ScrollBy(int,int) но у меня не получаеться, так и не появляэться полоса прокрутки.может я неправильно ее использую (OleContainer1->ScrollBy(50,50)Ага  ?   ХЕЛП!!!
Записан
zubr
Команда клуба

by
Offline Offline
Пол: Мужской

« Ответ #5 : 21-04-2008 09:45 » 

kaka777, не парься. Сохрани свой doc-документ как веб-документ (htm) и загружай его в TWebBrowser, типа:
WebBrowser1->Navigate("File://Путь к файлу");
Записан
kaka777
Гость
« Ответ #6 : 21-04-2008 11:18 » 

zubr,спосибо за ответ, но я или слепой или ещо чтото но немогу найти етот компонент! в какой он вкладке находится? Быть такого не может
Записан
zubr
Команда клуба

by
Offline Offline
Пол: Мужской

« Ответ #7 : 22-04-2008 03:57 » 

kaka777, в Delphi он на вкладке Internet, в стройке не помню, но точно должен быть. Возможно он у тебя просто не установлен. Попробуй, открой меню Component->Install Packages... Появится список установленных и не установленных пакетов. Поищи в этом списке пакет Borland Internet Components - и если чекбокс не включен, включи его, затем Ok.
Записан
kaka777
Гость
« Ответ #8 : 22-04-2008 06:25 » 

Почему я ето все спрашиваю, потому что мне нужно сделать вот что:есть документ страниц так на 200, нужно отображать в МЕМО или в РычЕдит или ОлеКонтейнере или... только подпункт етого дока(тоесть 2-3 страницы),я понимаю ето надо сделать некоторый алгоритм по чтению документа и вывода только подпункта! также в последующем сделать поиск в подпункте. а если документ преобразовать в HTM формат там добальяеться всякая ерунда HTML-овская(тегы) будет ли это корректно, если нет то какими компонентами нормально?  заранее спасибо за ответ   Не понял Здесь была моя ладья...
Записан
zubr
Команда клуба

by
Offline Offline
Пол: Мужской

« Ответ #9 : 22-04-2008 06:46 » 

kaka777, я вижу 2 варианта:
1. Отображать в OLE-контейнере, но как активный документ. Недостаток - будет отображаться кроме документа весь вордовский интерфейс + полосы прокрутки.
2. Отображать в TWebBrowser, как HTML-документ. Выглядеть будет красивее чем первый вариант.
Для поиска в обоих случаях лучше будет использовать готовые возможности Word (объектная COM-модель) или IE (объектная COM-модель). Для выбора и отображения нужной части текста опять таки надо будет использовать в обоих вариантах объектные модели.
Можно конечно еще воспользоваться различными сторонними компонентами, всякими расширенными RichEdit, но тут я тебе не помощник, сторонними компонентами стараюсь не пользоваться (кроме своих).
Записан
kaka777
Гость
« Ответ #10 : 22-04-2008 09:15 » 

я склоняюсь на счет ОЛЕконтейнера! Текст отображается нормально в виде не доковском(я там все поотключал) а типа в МЕМО, но нету Скрула, немогу разобраться. как уже писал пробовал сделать так: OleContainer1->ScrollBy(50,50)  может знаешь как? а так пока все
Записан
zubr
Команда клуба

by
Offline Offline
Пол: Мужской

« Ответ #11 : 22-04-2008 09:36 » 

Так ты сможешь отобразить только одну страницу текста. Для прокрутки этой одной страницы можно сделать так:
на ScrollBox ложишь оле-контейнер, делаешь у оле-контейнера Align=alNone, ставишь Height у контейнера достаточно большой, чтобы вмещалась страница.
Записан
kaka777
Гость
« Ответ #12 : 22-04-2008 11:47 » 

ЗУБР: все! сделал тат и так, больше понравился вариант с компонентом WebBrowser, хватит експерементировать! нада приниматся за изучение объектних COM-моделей. спасиб за консультации Класс! но далеко не уходи, еще наверняка понадобятся Скромно так...
Записан
kp1t
Гость
« Ответ #13 : 16-04-2010 15:56 » 

а вот если у меня несколько страниц в документе как вставить в OleContainer?
я пробовал вставляется только первая страница
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines