Delphi. Страница Dialogs. Васильев В.В - 13 стр.

UptoLike

13
(* Определение длины образца замены *)
ReplaceLen:=Length(ReplaceDialog1.ReplaceText);
(*Если поиск только начат, то в переменную FindIn перепи-
сывается текст из компонента Memo1 и текущая позиция при-
нимает значение 1*)
If index=0
then begin
FindIn:=Mainform.Memo1.Text;
index:=1
end;
(* Определение номера символа, с которого образец поиска
встречается в тексте *)
Found:=Pos(ToFind,FindIn);
(* При ненулевой позиции поиска происходит выделение най
-
денного текста *)
If Found>0
then
begin
(* В переменную FindIn переписывается текст из компонента
Memo1 *)
FindIn:=Mainform.Memo1.Text;
(* Из FindIn удаляются символы от начала текста до послед-
него символа найденного слова *)
delete(FindIn,1,index+Found+FoundLen-2);
(* Окно формы располагается поверх всех остальных окон *)
Mainform.BringToFront;
(* Фокус устанавливается на компонент Memo1 *)
Mainform.ActiveControl:=Memo1;
(* Определяется номер символа, с которого начинается
выде-
ление *)
Memo1.SelStart:=Index+Found-2;
(* Задается длина выделенного участка текста *)
Memo1.SelLength:=FoundLen;
(* Определяется номер символа, с которого будет продолжен
поиск *)
Index:=index+Found+ReplaceLen-1
end {Then}
else
(* В случае нулевой позиции поиска выдается информационное
окно *)
begin
MessageDlg('Просмотр документа окончен', mtInformation,
[mbOK],0);
index:=0 (* обнуляется текущая позиция поиска *)
end;
end;
12. Создайте процедуру обработ-
ки события
OnReplace компонен-
Используйте созданный
Delphi шаблон и
код обработчика, написанного ниже