Узнать стоимость написания работы
Оставьте заявку, и в течение 5 минут на почту вам станут поступать предложения!
Реферат

Реферат по предмету "Информатика, программирование"


Организация функции ПОИСК в Tmemo

Организация функции ПОИСК в 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


{ код поиска вниз }


begin


SelPos := Pos(s,textE);


if SelPos > 0


then


begin


Editor.SelStart := SelPos + X - 2;


Editor.SelLength:=length(s);


end


else ShowMessage(pchar('Текст "'+ FindDialog.FindText+'" ненайден.'));


end


else


{ код поиска вверх }


begin


for i:=length(textE)-length(s) downto 1 do


if copy(textE,i,length(s))=s


then


begin


Editor.SelStart := i-1;


Editor.SelLength:=Length(s);


goto 1;


end;


ShowMessage(pchar('Текст "'+ FindDialog.FindText+'" ненайден.'));


1:


end;


Если строка найдена, то она выделяется, если нет, то выдаётся соответстующее сообщение.


Внимание! Запрещается перепечатка данной статьи или ее части без согласования с автором. Если вы хотите разместить эту статью на своем сайте или издать в печатном виде, свяжитесь с автором.



Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.

Сейчас смотрят :

Реферат Історія економічних учень
Реферат Местные бюджеты: особенности их формирования и использования
Реферат Финансовая политика РФ в современных условиях
Реферат Оценка уровня финансового состояния ОАО "ПО"Красноярский завод комбайнов""
Реферат Методика організації навчального процесу в рамках колективного способу навчання іноземній мові
Реферат Социология потребления
Реферат Разработка вариантов инвестиционных проектов
Реферат Особливості впливу електричного струму на організм людини
Реферат Забезпечення національної спрямованості фізичного виховання молодших школярів засобами українських
Реферат Незнятий кадр незіграної ролі
Реферат Внешнеэкономические связи Российской Федерации
Реферат "Входные барьеры" на рынок отрасли
Реферат А. Маршалл – основоположник неоклассической экономической теории
Реферат Web Designers Essay Research Paper My choice
Реферат Земгор