Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.16;
Скачать: CL | DM;

Вниз

Поиск   Найти похожие ветки 

 
010101001010001010101001   (2004-04-30 22:34) [0]

Как осуществить в текством редакторе такие функии как ПОИСК и ПОИСК И ЗАМЕНА.


 
Gero ©   (2004-04-30 22:36) [1]

Это зависит от того, какой компонент используется в качестве поля редактирования.


 
010101001010001010101001   (2004-04-30 22:38) [2]

TMemo


 
Gero ©   (2004-04-30 22:44) [3]


procedure TForm1.FindDialog1Find(Sender: TObject);
var
 Buff, P, FT: PChar;
 BuffLen: Word;
begin
 with Sender as TFindDialog do
 begin
   GetMem(FT, Length(FindText) + 1);
   StrPCopy(FT, FindText);
   BuffLen := Memo1.GetTextLen + 1;
   GetMem(Buff, BuffLen);
   Memo1.GetTextBuf(Buff, BuffLen);
   P := Buff + Memo1.SelStart + Memo1.SelLength;
   P := StrPos(P, FT);
   if P = nil then
     MessageBeep(0)
   else
   begin
     Memo1.SelStart := P - Buff;
     Memo1.SelLength := Length(FindText);
   end;
   FreeMem(FT, Length(FindText) + 1);
   FreeMem(Buff, BuffLen);
 end;
end;

procedure TForm1.ReplaceDialog1Replace(Sender: TObject);
begin
 with Sender as TReplaceDialog do
   while True do
   begin
     if Memo1.SelText <> FindText then
       FindDialog1Find(Sender);
     if Memo1.SelLength = 0 then
       Break;
     Memo1.SelText := ReplaceText;
     if not (frReplaceAll in Options) then
       Break;
   end;
end;



 
010101001010001010101001   (2004-04-30 22:50) [4]

Спасибо за код! У меня еще вопрос: как сделать "Поиск дальше"???


 
Gero ©   (2004-04-30 23:25) [5]


> У меня еще вопрос: как сделать "Поиск дальше"???

Код, приведенный в [3] это он и есть.


 
Alexander666 ©   (2004-05-01 06:50) [6]

Мда, и неплохо было бы для поиска почитать про алгоритмы поиска (ну эт если там целая Библия загружена :-))



Страницы: 1 вся ветка

Текущий архив: 2004.05.16;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.04 c
7-1081239760
[BAD]Angel
2004-04-06 12:22
2004.05.16
Как перехватить нажатие двух клавишь?


14-1082704783
*Pavel
2004-04-23 11:19
2004.05.16
Есть ли выход из интернета ?


1-1083261874
Nous Mellon
2004-04-29 22:04
2004.05.16
Нестандартный ЛистВью


7-1081129575
bear9
2004-04-05 05:46
2004.05.16
Printer и Qreport


6-1080231779
Вика
2004-03-25 19:22
2004.05.16
авторизация и клиент-сервер MIDAS