- •Вкладка win32 Программирование с использованием вкладки Win32 и Dialog
- •Многостраничные панели — компоненты TabControl, PageControl
- •Список изображений — компонент ImageList
- •Компонент RichEdit
- •Компонент Delphi TrackBar
- •Компонент Delphi Progressbar
- •Компонент Delphi UpDown
- •Компонент Delphi HotKey (Горячие клавиши)
- •Компонент Delphi Animate
- •Компонент DataTimePicker
- •Компонент Delphi MonthCalendar
- •Компоненты DateTimePicker, MonthCalendar, Calendar
- •Компонент Delphi TreeView
- •Компонент ListView
- •Компонент Delphi HeaderControl
- •Полоса состояния StatusBar
- •Инструментальные панели — компоненты ToolBar и PageScroller
- •Перестраиваемые панели — компоненты CoolBar и ControlBar
- •Компонент ComboBoxEx
- •Компонент delphi xpManifest
- •Вкладка dialogs Компонент Delphi OpenDialog
- •Компонент Delphi SaveDialog
- •Компонент Delphi OpenPictureDialog
- •Компонент Delphi SavePictureDialog
- •Компонент Delphi FontDialog
- •Компонент Delphi ColorDialog (диалог выбора цвета)
- •Компоненты PrintDialog и PrinterSetupDialog
- •Компонент Delphi FindDialog
- •Компонент Delphi ReplaceDialog
- •Компонент PageSetupDialog
Компонент Delphi FindDialog
Компонент
Delphi FindDialog располагается на
странице Dialogs Палитры компонентов.
Он является стандартным диалогом поиска
фрагмента текста. Его обычно применяют
для реализации текстовых редакторов.
Искомый фрагмент текста находиться в свойстве FindText. Основные параметры поиска интуитивно понятны.
Рисунок 45 – Пример использования компонента FindDialog
Поместим на форму кнопку и напишем на ней - "Найти", компонент Memo и FindDialog. Напишем обработчик для кнопки:
FindDialog3.Execute;
Рисунок 46 – Задание обработчика свойства OnFind
Для диалога поиска создадим обработчик onFind:
procedure TForm3.FindDialog3Find(Sender: TObject);
begin
if pos(FindDialog1.FindText, memo1.Text)<>0 then
begin
with Memo1 do begin
HideSelection := False;
SelStart := pos(FindDialog3.FindText, Text)-1;
SelLength := Length(FindDialog3.FindText);
end;
end
else
ShowMessage('Строка '+FindDialog3.FindText+' не найдена!');
end;
Напишем какой либо текст в компоненте memo и нажмем кнопку "Найти". Введем в строку поиска слово. В начале которое есть в тексте, затем нажмем кнопку "Найти далее". Теперь напишем слово которого нет и увидим результат работы нашей программы.
Компонент Delphi ReplaceDialog
Компонент
Delphi ReplaseDialog
располагается на странице Dialogs Палитры
компонентов. Данный компонент - этот
диалог предназначен для замены текста,
который расположен в поле Что
(Find what) на текст помещенный в поле
Чем
(Replace with). Данные поля имеют тип String и
являются свойствами FindText
и ReplaceText
соответственно.
Компонент ReplaseDialog имеет общие свойства и методы компонента FindDialog. В дополнение к ним он имеет свойство ReplaceText (String) и метод OnReplace (тип TNotifyEvent) возникающий при клике на кнопки Replace и Replace All (отвечают за замену искомого фрагмента текста).
Внешний вид он имеет следующий:
Рисунок 47 – Пример использования компонента ReplaceDialog
Рисунок 48 – тестовый пример использования компонента ReplaceDialog
Для лучшего понимания работы по замене текста создадим такое приложение: на форма поместим компоненты 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;
Запустите приложение и произведите любого участка текста.
