Форум: "Основная";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];
ВнизПоиск Найти похожие ветки
← →
010101001010001010101001 (2004-04-30 22:34) [0]Как осуществить в текством редакторе такие функии как ПОИСК и ПОИСК И ЗАМЕНА.
← →
Gero © (2004-04-30 22:36) [1]Это зависит от того, какой компонент используется в качестве поля редактирования.
← →
010101001010001010101001 (2004-04-30 22:38) [2]TMemo
← →
Gero © (2004-04-30 22:44) [3]
procedure TForm1.FindDialog1Find(Sender: TObject);
var
Buff, P, FT: PChar;
BuffLen: Word;
begin
with Sender as TFindDialog do
begin
GetMem(FT, Length(FindText) + 1);
StrPCopy(FT, FindText);
BuffLen := Memo1.GetTextLen + 1;
GetMem(Buff, BuffLen);
Memo1.GetTextBuf(Buff, BuffLen);
P := Buff + Memo1.SelStart + Memo1.SelLength;
P := StrPos(P, FT);
if P = nil then
MessageBeep(0)
else
begin
Memo1.SelStart := P - Buff;
Memo1.SelLength := Length(FindText);
end;
FreeMem(FT, Length(FindText) + 1);
FreeMem(Buff, BuffLen);
end;
end;
procedure TForm1.ReplaceDialog1Replace(Sender: TObject);
begin
with Sender as TReplaceDialog do
while True do
begin
if Memo1.SelText <> FindText then
FindDialog1Find(Sender);
if Memo1.SelLength = 0 then
Break;
Memo1.SelText := ReplaceText;
if not (frReplaceAll in Options) then
Break;
end;
end;
← →
010101001010001010101001 (2004-04-30 22:50) [4]Спасибо за код! У меня еще вопрос: как сделать "Поиск дальше"???
← →
Gero © (2004-04-30 23:25) [5]
> У меня еще вопрос: как сделать "Поиск дальше"???
Код, приведенный в [3] это он и есть.
← →
Alexander666 © (2004-05-01 06:50) [6]Мда, и неплохо было бы для поиска почитать про алгоритмы поиска (ну эт если там целая Библия загружена :-))
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.034 c