Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.05.2012, 19:49   #1
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,210
Вопрос Как заменить текст в RichEdit и сохранить в HTML?

Сабж. Грузится текст из RTF файла, осуществляется замена искомого слова на тэг. Затем измененный текст из RichEdit должен сохраниться в HTML страницу и вставленный тэг должен работать как надо. Вопрос: как такое сделать? Например, я заменяю искомое слово тэгом, который рисует на странице поле ввода. Но при сохранении в HTML, вставленный тег отображается как простой текст на странице, а не выполняет свою работу как тэг.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 28.05.2012, 20:21   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

вы сформировали полную структуру HTML документа?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 28.05.2012, 21:09   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Почему в РичЭдит?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.05.2012, 17:36   #4
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,210
По умолчанию

Цитата:
вы сформировали полную структуру HTML документа?
Ну, просто заменяю слово и сохраняю как HTML страницу все содержимое ричэдита.
Цитата:
Почему в РичЭдит?
В смысле? Он более менее корректно сохраняет форматирование текста. Есть ли другой вариант тогда сформировать полноценную HTML страницу?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 29.05.2012, 18:43   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

А PlainText чему равен перед выгрузкой в Stream или файл? Там True, если не ошибаюсь надо, чтобы выгрузка не была в RTF, возможно это и мешает. Если не это, скорее всего не так замену делаете
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 29.05.2012, 20:00   #6
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,210
По умолчанию

PlainText = False. У меня не получается заменить слово в SRichViewEdit, поэтому я использую sRichEdit,в котором делаю замену, потом копирую весь текст из sRichEdit в SRichViewEdit и оттуда сохраняю в HTML. Весь текст нормально сохраняется, а тэг нет. Делаю такую замену, чтобы сформировать поле ввода на HTML странице:
Код:
Search_And_Replace(Form1.sRichEdit1,'<ПОЛЕ>','<INPUT TYPE="TEXT" SIZE="20" MAXLENGTH="40">');
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 29.05.2012, 20:12   #7
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Артем, вы компоненты используете, которые не популярны на этом форуме. Я из ваших постов только и узнал об их существовании
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 29.05.2012, 20:19   #8
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

Цитата:
при сохранении в HTML, вставленный тег отображается как простой текст на странице, а не выполняет свою работу как тэг.
ну так и должно быть, откуда компоненту знать, что текст "<INPUT TYPE="TEXT" SIZE="20" MAXLENGTH="40">" — это на самом деле хтмл разметка. Естественно, он сохраняет его как текст, т.е. преобразует "<" в "&lt;" и так далее.

Как исправить не знаю, но если уж никак не получается, я бы сохрянял хтмл из RE как есть, а уже потом менял бы в нём нужные поля на ту хтмл разметку, которая нужна.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 29.05.2012, 20:24   #9
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Выше уже предлагалось не использовать RTF при выгрузке, при выгрузке текста без форматирования с чего там спец.символам преобразовываться?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 29.05.2012, 20:30   #10
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

На сколько я понял, есть текст в rtf, его загоняют в RE, и далее сохраняют как хтмл. По пути меняя "<ПОЛЕ>" на "<input ...>", которе, естествено, сохраняется как текст "<input ...>", а не как хтмл разметка.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сохранить из RichEdit текст и форматирование запросом для ADOQuery через INSERT INTO silent_lab БД в Delphi 0 15.07.2011 16:58
msWord как заменить текст по метке Paskal1 Общие вопросы Delphi 0 25.10.2010 12:45
Заменить HTML текст на открытой странице LEXX_RUS Работа с сетью в Delphi 1 05.08.2009 09:07
как сохранить текст? blackstersl Общие вопросы Delphi 6 17.06.2009 21:06
HTML,как заменить текст в адресной строке? Ладушка HTML и CSS 13 28.08.2008 19:37