Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.29;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.014 c
8-94979
real_dimedrol
2003-02-15 12:40
2003.05.29
Помогите разобраться со Scanline


14-95058
Ancara
2003-05-08 12:34
2003.05.29
SendMessage - не совсем понятен


3-94677
Viktor
2003-04-29 01:36
2003.05.29
Хранение рисунков в базе данных


1-94886
viol-2
2003-05-16 15:19
2003.05.29
Память как диск


1-94959
gary5555
2003-05-18 13:23
2003.05.29
Как распознать первый и второй щелчок мыши по кнопке?!?!