Поиск в TMemo с использованием TFindDialogDelphi , Программа и Интерфейс , Диалоги и ФреймыПоиск в TMemo с использованием TFindDialog
Оформил: DeeCo 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. Комментарии и вопросыМатериалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Диалоги и Фреймы ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |