![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| dma |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 1.12.2006 Где: Belarus, Minsk Репутация: нет Всего: 1 |
Господа, помогите пожалуйста, ума не приложу как решить следующую проблему:
Есть текст в файле RTF формата. Необходимо пройтись по тексту, найти данное слово (к примеру ЛАМПА) и заменить его на другое данное слово (к примеру ЛЮСТРА), при этом не нарушая форматирования текста. То есть, к примеру, если заменяемое (ЛАМПА) слово было шрифта 14 и жирное, то чтобы и заменённое слово(ЛЮСТРА) имело такие же параметры. Заранее премного благодарен. |
|||
|
||||
| Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 53 Всего: 133 |
Хех. По моему с форматироанием не осуществимо. Потому как есть будет ЛАМПА, то на какую "ЛЮСТРУ" менять?
Добавлено @ 04:28 А без форматирования обычный StringReplace... -------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
| gambit |
|
|||
![]() Эксперт ![]() ![]() ![]() Награды: 1 Профиль Группа: Комодератор Сообщений: 1359 Регистрация: 25.6.2006 Где: я? Репутация: нет Всего: 40 |
Есть хорошая книга "Программирование документов и приложений MS OFFICE в DELPHI"
Тамопсано все что можно сделать с word и excel. Если надо могу тебе написать код который тебе надо. Код напишу ближе к вечеру. |
|||
|
||||
| gambit |
|
|||
![]() Эксперт ![]() ![]() ![]() Награды: 1 Профиль Группа: Комодератор Сообщений: 1359 Регистрация: 25.6.2006 Где: я? Репутация: нет Всего: 40 |
|
|||
|
||||
| Snowy |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Пусть рич сам меняет по своим стандартным правилам. Ну... Так слишком грубо и с потерей форматирования. gambit, ну ты уж совсем завернул. Для такой элементарной задачи подтягивать пакет, стоимостью в сотни долларов. У меня, к примеру, нет M$ Office. Что ж теперь, программа не должна работать? Вариант с вордом - просто бредовая идея. Всё делается просто:
|
||||
|
|||||
| gambit |
|
|||
![]() Эксперт ![]() ![]() ![]() Награды: 1 Профиль Группа: Комодератор Сообщений: 1359 Регистрация: 25.6.2006 Где: я? Репутация: нет Всего: 40 |
Snowy, ты заменяеш слово в RichEdit а мой код позволяет редактировать ничего никуда не копирую.
Кроме того не в обиду сказано но word есть у 99% людей. |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Что и требуется из постановки вопроса.
Использовать для этого тяжеловесный платный сторонний пакет? Ты б ещё 2+2 в ехеле считал бы Такие решения у меня вызывают как минимум недоумение. Зачем??! Да ты оптимист Для России также верно, как и то, что IE пользуются 99% посетителей этого сайта А для западного мира данный процент ещё меньше. Пиратство - далеко не тотальное явление. Процент машин с M$ офисом постоянно падает. Как и процент пользователей IE. Пройдёт время и данный процент будет меньше половины. И что делать тогда программе на машине, где нет офиса? Кричать, извините, я не могу сделать элементарной вещи - купите офис? Да я и без такой программы спокойно в ОО всё сконверчу |
|||
|
||||
| gambit |
|
||||||||
![]() Эксперт ![]() ![]() ![]() Награды: 1 Профиль Группа: Комодератор Сообщений: 1359 Регистрация: 25.6.2006 Где: я? Репутация: нет Всего: 40 |
Snowy,
А что плохо чтоли
А теперь вопрос
Нет ничего про загрузку в прогу и так далее. Ну в общем это вопрс довольо спорный |
||||||||
|
|||||||||
| Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 53 Всего: 133 |
Вопрос этот не спорный. Снежок прав. Совершенно не у всех установлен Ворд (не говоря уже обо всем Офисе). И пользователю не очень приятно будет увидеть, что твоя программа, каторая к Ворду ни каким боком, из-за того, что у тебя не уста новлен Word, не захочет работать.
-------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
||||
|
||||
| gambit |
|
|||
![]() Эксперт ![]() ![]() ![]() Награды: 1 Профиль Группа: Комодератор Сообщений: 1359 Регистрация: 25.6.2006 Где: я? Репутация: нет Всего: 40 |
Snowy, Да!!! Мой способ.
|
|||
|
||||
| dma |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 1.12.2006 Где: Belarus, Minsk Репутация: нет Всего: 1 |
Второй вариант идеален, когда не требуется заменить слово в таблице. Если же заменяемое слово находится в таблице, то всё форматирование сбивается
А вот вариант с вордом подходит для таблицы, но можно ли теперь сделать так, чтобы заменялись не все слова в документе, а к примеру пять первых? Буду очень признателен за помощь. |
|||
|
||||
| gambit |
|
|||
![]() Эксперт ![]() ![]() ![]() Награды: 1 Профиль Группа: Комодератор Сообщений: 1359 Регистрация: 25.6.2006 Где: я? Репутация: нет Всего: 40 |
Я уже точно не помню, но помоему мой вариант находил первое слово удовлетворяющие запросу и заменяла его. Так что просто прогнать в цикле.
|
|||
|
||||
| dma |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 1.12.2006 Где: Belarus, Minsk Репутация: нет Всего: 1 |
Нет, твой вариант как раз заменял всё одним махом. То есть был установлен параметр Replase Allю Методом научного тыка я выяснил что этот параметр задаётся как раз в той строчке, которая прокомментирована "фигня без которой неработает".
Так вот если установить этот параметр в 1, то будет заменяться ОДНО слово. Поэтому я сделал так:
Но заменилось по прежнему одно слово. Как показал пошаговый проход после первого выполнения цикла заменённое слово остаётся выделенным, а значит, наверное надо это выделение снять, чтобы слова могли искаться дальше. Так вот вопрос - как сбросить выделение? А ещё лучше если кто-нибудь ткнёт носом где можно про это всё почитать Премного благодарен. |
|||
|
||||
| dma |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 1.12.2006 Где: Belarus, Minsk Репутация: нет Всего: 1 |
Еле нашёл в интернете эту книжку
Вобщем проблема решена:
Всем кто помог - большое спасибо! |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |