Referat.me

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

Вид работы: доклад

Рубрика: Информатика и программирование

Размер файла: 14.15 Kb

Скачать файл: referat.me-137456.docx

Краткое описание работы: Представленный ниже код я использовал при написании текстового редактора. Всё вроде работает. Итак, на форме должны быть TMemo (Editor), TFindDialog (FindDialog) и TButton (Button).

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

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

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

Похожие работы

  • Перетаскивание файлов на форму

    В этой статья я расскажу, как реализовать перетаскивание файлов на форму... Рассмотрим на примере текстового редактора с многооконным интерфейсом, при перетаскивании файлов на главную форму которого будут открываться MDI-окна.

  • TClientSocket & TServerSocket

    В C++Builder 6 для передачи какой-либо информации по сети удобнее всего использовать компоненты закладки Internet: TClientSocket и TServerSocket.

  • Высокоуровневые методы информатики и программирования

    Целью курсовой работу является реализация криптографического алгоритма шифрования и дешифрования с использованием шифра Виженера.

  • Компонент программного комплекса для шифрования/дешифрования данных

    Разработка программы, позволяющей реализовать шифрование и дешифрование текстового файла методом замены и методом перестановки. Требования к функциональным характеристикам, надежности, составу и параметрам технических средств ПО. Интерфейс пользователя.

  • Обработка одномерных массивов в среде программирования Lazarus

    Форма программы для ввода и вывода массива в программной среде Lazarus. Характеристика главных недостатков Lazarus. Цикл для пропуска пробелов между словами. Результат обработки текстового редактора memo.text. Листинг и экранные формы заданной программы.

  • Разработка программы на языке Borland Object Pascal (Ide Borland Delphi)

    Формирование текстового документа с именем goto.cpp., содержимое которого взято из русифицируемой справки MSDN по оператору безусловного перехода. Выбор оптимального алгоритма решения задачи, разработка интерфейса, отладка и тестирование программы.

  • Работа с файлам в Дельфи

    В статье рассматриваются стандартные I/O операции с файлами, типичные ошибки и методы их предотвращения.

  • Среда программирования Delphi

    Требования к аппаратным и программным средствам. Общая структура Среды Delphi. Основные элементы. Дополнительные элементы. Инструментальные средства. TButton, исходный текст, заголовки и Z-упорядочивание.

  • Обзор Палитры Delphi

    В данной работе дается обзор стандартных и дополнительных компонентов из Палитры Компонент Delphi.

  • Creating graphic editor

    Creation of the graphic program with Visual Basic and its common interface. The text of program code in programming of Visual Basic language creating in graphics editor. Creation of pictures in Visual Basic, some graphic actions with graphic editor.