Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Объясните чайнику

4.2K
25 мая 2003 года
Naiprin
1 / / 25.05.2003
у меня тут вопросик...не будут ли господа прграммеры так любезны доходчиво объяснить как работают следующие процедуры:



procedure TForm1.N26Click(Sender: TObject);
begin
{запоминание позиции курсора}
SPos:=RichEdit1.SelStart;
with FindDialog1 do begin
{начальное значение текста поиска- текст, выделенный в RichEdit1}
FindText:=RichEdit1.SelText;
{позиционирование окна диалога внизу RichEdit1}
Position:=Point(Form1.Left,Form1.Top+RichEdit1.Top+RichEdit1.Height);
{ удаление из диалога кнопок "Вверх", "Вниз",
"Только слово целиком"}
Options:=Options + [frHideUpDown,frHideWholeWord];
{Выполнение}
Execute;
end;
end;


procedure TForm1.FindDialog1Find(Sender: TObject);
begin
with FindDialog1 do begin
if frMatchCase in Options
{поиск с учётом регистра}
then RichEdit1.SelStart:=Pos(FindText,
Copy(RichEdit1.Lines.Text,SPos+1,
Length(RichEdit1.Lines.Text)))+Spos-1
{поиск без учёта регистра}
else RichEdit1.SelStart:=Pos(AnsiLowerCase(FindText),
AnsiLowerCase(Copy(RichEdit1.Lines.Text,SPos+1,
Length(RichEdit1.Lines.Text))))+Spos-1;
if RichEdit1.SelStart>=Spos
then begin
{выделение найденного текста}
RichEdit1.SelLength:=Length(FindText);
{изменение начальной позиции поиска}
SPos:=RichEdit1.SelStart+RichEdit1.SelLength+1;
end
else
if MessageDlg(
'Текст "'+FindText+'" не найден. Продолжать диалог?',
mtConfirmation,mbYesNoCancel,0) <> mrYes
then CloseDialog;
end;
RichEdit1.SetFocus;
end;

эти две процедуры были в исходнике текстового редактора и отвечают за поиск текста....а как этот поиск осуществляется мне и хотелось бы узнать....зарание благодарен за помощь.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог