Форум: "Основная";
Текущий архив: 2003.05.29;
Скачать: [xml.tar.bz2];
ВнизSearch & replace Найти похожие ветки
← →
Adil Aliev (2003-05-16 15:02) [0]Я сделал Нотепад на Азербайджанском языке.Все сделал но Search?Replace остался.Скажите пожалюста как искать какой нибудь техт(или слово) в MEMO?И как Заменить этот текст?
← →
MBo (2003-05-16 15:08) [1]Pos
SelStart
SelLength
SelText
← →
Adil Aliev (2003-05-16 15:35) [2]Не понял
← →
MBo (2003-05-16 15:47) [3]Хелп по функции Pos и этим свойствам TMemo поможет.
← →
asafr (2003-05-16 15:57) [4]http://edufund.citytlt.ru/school11/texteditor.htm
Посмотри здесь. Достаточно подробно, но пример на Билдер С++
← →
Adil Aliev (2003-05-16 15:59) [5]Можете писать пример.
← →
asafr (2003-05-16 16:52) [6]Все-таки Help смотри....
На форме 2 кнопки bt_Find, bt_Replace и 2 диалоговые компаненты
FindDialog1, ReplaceDialog1...
// Поиск
procedure TForm1.bt_FindClick(Sender: TObject);
begin
FindDialog1.Position := Point(RichEdit1.Left + RichEdit1.Width, RichEdit1.Top);
FindDialog1.Execute;
end;
procedure TForm1.FindDialog1Find(Sender: TObject);
var
FoundAt: LongInt;
StartPos, ToEnd: Integer;
begin
with RichEdit1 do
begin
if SelLength <> 0 then
StartPos := SelStart + SelLength
else
StartPos := 0;
ToEnd := Length(Text) - StartPos;
FoundAt := FindText(FindDialog1.FindText, StartPos, ToEnd, [stMatchCase]);
if FoundAt <> -1 then
begin
SetFocus;
SelStart := FoundAt;
SelLength := Length(FindDialog1.FindText);
end;
end;
end;
//Замена
procedure TForm1.bt_ReplaceClick(Sender: TObject);
begin
ReplaceDialog1.Execute;
end;
procedure TForm1.ReplaceDialog1Replace(Sender: TObject);
var
SelPos: Integer;
begin
with TReplaceDialog(Sender) do
begin
SelPos := Pos(FindText, RichEdit1.Lines.Text);
if SelPos > 0 then
begin
RichEdit1.SelStart := SelPos - 1;
RichEdit1.SelLength := Length(FindText);
RichEdit1.SelText := ReplaceText;
end
else MessageDlg(Concat("Не найден"", FindText, """), mtError, [mbOk], 0);
end;
end;
← →
Adil Aliev (2003-05-16 18:30) [7]Я же не сказал RichEdit,я сказал Memo.Можете покозать пример.
← →
pasha_golub (2003-05-16 18:34) [8]Какая разница. вместо RichEdita ставь memo и все будет работать...
← →
Adil Aliev (2003-05-16 18:37) [9]В Memo нет "FindText();"
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.05.29;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.015 c