|
<< Нажмите, чтобы показать Содержание >> Как выполнить поиск и замену текста |
Основные методы – TRichView.SearchText и TRichViewEdit.SearchText.
Поиск может выполняться с учётом или без учёта регистра, вверх или вниз. Также поддерживается поиск только целых слов.
Параметры диалога поиска можно преобразовать в параметр SrchOptions этих методов с помощью GetRVSearchOptions или GetRVESearchOptions.
Используйте TRichViewEdit.SearchText, чтобы выделить старую строку.
Затем вызовите InsertText, чтобы заменить её новой. Перед вставкой этот метод удаляет выделенную часть документа. Если поиск выполняется в обратном направлении, задайте параметр CaretBefore равным True, либо используйте опцию «SmartStart».
При обычном поиске методы требуют, чтобы документ был отформатирован. Это происходит потому, что поиск обычно начинается с выделенного фрагмента или позиции каретки, а найденный результат тоже выделяется. Всё это требует форматированного документа.
ТРВ-Редактор предоставляет возможность поиска без использования выделения, и следовательно, без форматирования. Для этого нужно сначала использовать опцию (параметр SrchOptions), начинающую поиск с начала документа, и обработать событие OnTextFound. В этом событии нужно запретить обработку по умолчанию (то есть выделение текста). Если нужен дальнейший поиск, нужно запомнить найденную позицию и далее использовать опцию поиска от запомненной позиции.
Такой поиск полезен, если его нужно выполнить быстро в непоказываемом документе.
Демо-проекты.
Диалог поиска реализован в основном демо-проекте редактора:
▪Demos\*\Editors\Editor 1\
Диалоги поиска и замены реализованы в демо-проекте:
▪Demos\*\Assorted\Search and Replace\
В качестве альтернативы можно использовать Инструменты интерфейса ТРВ (RichViewActions). Они включают готовые команды (actions) для поиска и замены текста.