Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения
KANSoftWare

Поиск в TMemo с использованием TFindDialog

Delphi , Программа и Интерфейс , Диалоги и Фреймы

Поиск в TMemo с использованием TFindDialog

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

  private
     { Private declarations }
     FSelPos: integer;
   public
     { Public declarations }
   end;

 var
   Form1 : TForm1;

 implementation

 {$R *.dfm}

 procedure TForm1.FindDialog1Find(Sender : TObject);
 var
   S : string;
   startpos : integer;
 begin
   with TFindDialog(Sender) do
   begin
     {If the stored position is 0 this cannot be a find next. }
     if FSelPos = 0 then
       Options := Options - [frFindNext];

      { Figure out where to start the search and get the corresponding 
       text from the memo. }
     if frfindNext in Options then
     begin
       { This is a find next, start after the end of the last found word. }
       StartPos := FSelPos + Length(Findtext);
       S := Copy(Memo1.Lines.Text, StartPos, MaxInt);
     end
     else
     begin
       { This is a find first, start at the, well, start. }
       S := Memo1.Lines.Text;
       StartPos := 1;
     end;
     { Perform a global case-sensitive search for FindText in S }
     FSelPos := Pos(FindText, S);
     if FSelPos > 0 then
     begin
        { Found something, correct position for the location of the start 
         of search. }
       FSelPos := FSelPos + StartPos - 1;
       Memo1.SelStart := FSelPos - 1;
       Memo1.SelLength := Length(FindText);
       Memo1.SetFocus;
     end
     else
     begin
       { No joy, show a message. }
       if frfindNext in Options then
         S := Concat('There are no further occurences of "', FindText,
           '" in Memo1.')
       else
         S := Concat('Could not find "', FindText, '" in Memo1.');
       MessageDlg(S, mtError, [mbOK], 0);
     end;
   end;
 end;

 // Show the FindDialog 
// Den FindDialog anzeigen 

procedure TForm1.Button1Click(Sender : TObject);
 begin
   FSelPos := 0;
   FindDialog1.Execute;
 end;

Статья Поиск в TMemo с использованием TFindDialog раздела Программа и Интерфейс Диалоги и Фреймы может быть полезна для разработчиков на Delphi и FreePascal.


Комментарии и вопросы


Ваше мнение или вопрос к статье в виде простого текста (Tag <a href=... Disabled). Все комментарии модерируются, модератор оставляет за собой право удалить непонравившейся ему комментарий.

заголовок

e-mail

Ваше имя

Сообщение

Введите код




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Диалоги и Фреймы ::


реклама



©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru Rambler's Top100
23.04.2024 20:25:02/0.0043201446533203/2