
01.05.2008, 01:01
|
Новичок
|
|
Регистрация: 19.07.2007
Сообщения: 65
Репутация: 5
|
|
Код:
procedure TForm1.Button9Click(Sender: TObject);
begin
FindDialog1.Execute;
end;
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;
|