Показать сообщение отдельно
  #2  
Старый 01.05.2008, 01:01
shaman shaman вне форума
Новичок
 
Регистрация: 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;
Ответить с цитированием