Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: программирование на Delphi и Lazarus


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный платный хостинг на базе Windows 2008

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Чемпионы рейтинга экспертов в этой рассылке

Boriss
Статус: Академик
Рейтинг: 1371
∙ повысить рейтинг »
Jimhucksly
Статус: 5-й класс
Рейтинг: 716
∙ повысить рейтинг »
Евгений/Genia007/
Статус: Бакалавр
Рейтинг: 487
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И ПО / Программирование / Delphi и Lazarus

Номер выпуска:1471
Дата выхода:14.12.2009, 07:30
Администратор рассылки:Калашников О.А., Руководитель
Подписчиков / экспертов:584 / 221
Вопросов / ответов:1 / 1

Вопрос № 175059: Пользуюсь процедурой для поиска и замены по документу, но в том случае если искомый параметр в документе указан не один раз то он заменяет мне все находимые слова по документу подскажите как переделать процедуру чтобы она не повсему документу заменя...



Вопрос № 175059:

Пользуюсь процедурой для поиска и замены по документу, но в том случае если искомый параметр в документе указан не один раз то он заменяет мне все находимые слова по документу подскажите как переделать процедуру чтобы она не повсему документу заменяла а по определенному участку скажем между 2 закладками

Отправлен: 09.12.2009, 07:23
Вопрос задал: Kensh1n, Посетитель
Всего ответов: 1
Страница вопроса »


Отвечает Alex1, 2-й класс :
Здравствуйте, Kensh1n.
На сколько я понял, расширение документа у тебя ".rtf". Документы в формате RTF сохраняются в виде обогащенного, а не обычного текста. Подробнее о структуре можешь посмотреть тут. Впринцыпе, твоим методом можно заменять слова в таком тексте, но это опасно, т.к. можно случайно заменить тэги и тогда структура документа испортится. Для примера открой свой rtf файл обычным блокнотом. Ты увидишь там много разнообразных тэгов. Чтоб не испортить структуру документа, можно сделать алгоритм игнорирования тегов и замены только в тексте. Но, можно зделать попроще. Если хорошо посмотреть, то видно, что закладки в документе rtf обозначаются тэгами {\*\bkmkstart zakladka}{\*\bkmkend zakladka}, где zakladka - имя закладки. И тогда надо будет немного расширить твою процедуру, например так (смотри во вложении). bkmName1 и bkmName2 - это имена первой и второй закладок (между кото рыми надо заменять).
P.S. Еще могу посоветовать замену не между двух закладок, а внутри одной. В ворде надо выделить таблицу, и сделать её полностью закладкой. В процедуре надо будет искать позиции не открывающих тегов двух закладок, а открывающего (\bkmkstart) и закрывающего (\bkmkend) тега одной закладки. И указывать надо будет не 2 закладки, а одну (мне кажется так проще). Но это уже твоё дело.
Активирован ВВС-код.
-----
∙ Отредактировал: Зенченко Константин Николаевич, Модератор
∙ Дата редактирования: 10.12.2009, 18:07 (время московское)

Приложение:

Ответ отправил: Alex1, 2-й класс
Ответ отправлен: 09.12.2009, 13:08

Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 257526 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Оценить выпуск »
    Нам очень важно Ваше мнение об этом выпуске рассылки!

    Задать вопрос экспертам этой рассылки »

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров »

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.


    © 2001-2009, Портал RFpro.ru, Россия
    Авторское право: ООО "Мастер-Эксперт Про"
    Автор: Калашников О.А. | Программирование: Гладенюк А.Г.
    Хостинг: Компания "Московский хостер"
    Версия системы: 2009.6.12 от 30.11.2009

    В избранное