Доклад: Организация функции ПОИСК в Tmemo

Представленный ниже код я использовал при написании текстового редактора. Всё вроде работает.

Итак, на форме должны быть TMemo (Editor), TFindDialog (FindDialog) и TButton (Button).

Сначала напишем обработчик нажатия на кнопку:

procedure TForm1.ButtonClick(Sender: TObject);

begin

Возможно вы искали - Доклад: Запись строковых выражений, кавычки

FindDialog.Execute; // ОткрытиедиалогаПоиск

end;

В свойствах дилога должны быть True опции frHideWholeWord (Скрыть в диалоге выбор флажка "Только слово целиком"), frHideMatchCase (Скрыть в диалоге выбор флажка "С учётом регистра") и frDown (по-умолчанию направление поиска вниз), все остальные опции должны быть False.

В Editor свойство HideSelection должно быть False.

Теперь напишем обраобтчик на нажатие кнопки Найти далее в диалоге Поиск.

Похожий материал - Реферат: Философские аспекты программирования

Должны быть описаны следующие переменные и метки:

var

SelPos,X,i:integer;

s,textE:string;

label 1;

Очень интересно - Реферат: Устойчивость охранных устройств к «электронному взлому»

Для начала посмотрим, в каком направлении нужно искать и соответственно выберем текст в котором надо искать:

if frDown in FindDialog.Options

then Editor.SelStart:=Editor.SelStart+Editor.SelLength; // этодля "поискдалее"

textE:=Editor.Text;

X:=Editor.SelStart+1;

Вам будет интересно - Доклад: Считаем время выполнения скрипта

if frDown in FindDialog.Options

then

textE:=Copy(textE,X,Length(textE)-X+1)

else

textE:=Copy(textE,0,X-1);

Похожий материал - Доклад: Установка компонентов в Дельфи

s:=FindDialog.FindText; // переменной s присваивается строка, которую нужно найти

Теперь напишем код собственно поиска:

if frDown in FindDialog.Options

then