Компонент Delphi ReplaseDialog располагается на странице Dialogs Палитры компонентов. Данный компонент - этот диалог предназначен для замены текста, который расположен в поле Что (Find what) на текст помещенный в поле Чем (Replace with). Данные поля имеют тип String и являются свойствами FindText и ReplaceText соответственно.
Компонент ReplaseDialog имеет общие свойства и методы компонента FindDialog. В дополнение к ним он имеет свойство ReplaceText (String) и метод OnReplace (тип TNotifyEvent) возникающий при клике на кнопки Replace и Replace All (отвечают за замену искомого фрагмента текста).
Внешний вид он имеет следующий:
Для лучшего понимания работы по замене текста создадим такое приложение: на форма поместим компоненты Edit, Button и ReplaseDialog. Разместим их как показано на рисунке. Напишем заголовки кнопки и формы. Затем создадим обработчик кнопки и обработчик замены текста.
Для кнопки:
procedure TForm1.Button1Click(Sender: TObject); begin ReplaceDialog1.Execute; end;
Для замены текста с Помощью Инспектора объектов на вкладке Events компонента ReplaseDialog создаем двойным щелчком событие OnReplace:
procedure TForm1.ReplaceDialog1Replace(Sender: TObject); begin while (pos(ReplaceDialog1.FindText,Edit1.Text) <> 0) do begin With Edit1 do begin SelStart := pos(ReplaceDialog1.FindText,Edit1.Text)-1; SelLength:= Length(ReplaceDialog1.FindText); SelText := ReplaceDialog1.ReplaceText; end; // При необходимости одноразовой замены завершаем цикл if not (frReplaceAll in ReplaceDialog1.Options) then Break; end; end;
Запустите приложение и произведите любого участка текста.
Итог: мы познакомились с компонентом ReplaseDialog.