Компонент Delphi FindDialog

значок диалога FindDialogКомпонент Delphi FindDialog располагается на странице Dialogs Палитры компонентов. Он является стандартным диалогом поиска фрагмента текста. Его обычно применяют для реализации текстовых редакторов.

 Искомый фрагмент текста находиться в свойстве FindText. Основные параметры поиска интуитивно понятны.форма диалога FindDialog

Поместим на форму кнопку и напишем на ней - "Найти", компонент Memo и  FindDialog. Напишем обработчик для кнопки:

FindDialog3.Execute;

Для диалога поиска создадим обработчик 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 и нажмем кнопку "Найти". Введем в строку поиска слово. В начале которое есть в тексте, затем нажмем кнопку "Найти далее". Теперь напишем слово которого нет и увидим результат работы нашей программы.

Итог: мы познакомились с компонентом FindDialog1 его свойствами и предназначением.

Понравилась статья? Раскажите друзьям:
Общайтесь со мной

3 thoughts on “Компонент Delphi FindDialog

  1. разобрался ,,..у Вас с номерами FindDialog опечатка или???
    везде у FindDialog должна быть цифра 1 – FindDialog1
    а у Вас то
    if pos(FindDialog1. цифра 1
    то
    SelStart := pos(FindDialog3. цифра 3
    а диалог то на форме один…

  2. еще было бы здорово , если бы код хотя бы кратко
    объяснялся ..что например такое HideSelection
    или что означает строка SelStart := pos(FindDialog3.FindText, Text)-1;
    так понимаю в если в условии if pos(FindDialog1.FindText, memo1.Text)0
    подстрока найдена , тогда зачем еще искать чего-то , в общем ,без
    обращения и поиска на других сайтах не обойтись…

Оставить комментарий

Ваш email не будет опубликован. Обязательные поля отмечены *

Вы можете использовать это HTMLтеги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>