cricri_b34
Messages postés223Date d'inscriptionmercredi 21 juillet 2004StatutMembreDernière intervention15 février 2006
-
6 avril 2005 à 22:01
WhiteHippo
Messages postés1154Date d'inscriptionsamedi 14 août 2004StatutMembreDernière intervention 5 avril 2012
-
6 avril 2005 à 23:23
Salut,
j'aimerais savoir comment chercher une chaine dans un memo et ensuit surligner
celle-ci
WhiteHippo
Messages postés1154Date d'inscriptionsamedi 14 août 2004StatutMembreDernière intervention 5 avril 20123 6 avril 2005 à 23:23
Moi je te conseillerais l'utilisation d'un RichEdit à la place du Memo.
Tu crées un nouveau projet ou tu en utilises un existant, tu ajoutes à ta fiche un TFindDialog, un bouton, un TRichtEdit
N.B. Code ci dessous extrait de l'aide de Delphi. Pouruqoi réinventer ce qui existe déjà
Sur l'evenement onclick du bouton
procedure TForm1.Button1Click(Sender: TObject);
begin
FindDialog1.Position :=Point(RichEdit1.Left +RichEdit1.Width,RichEdit1.Top);
FindDialog1.Execute;
end;
Sur l'evenement onfind du FindDialog
procedure TForm1.FindDialog1Find(Sender:TObject);
var
FoundAt:LongInt;
StartPos,ToEnd:Integer;
begin
with RichEdit1 do
begin
{commence la recherche après la sélection en cours s'il y en a une }
{sinon,commence au début du texte }
if SelLength <>0 then
StartPos :=SelStart +SelLength
else
StartPos :=0;
{ToEnd indique la longueur entre StartPos et la fin du texte du contrôle éditeur de texte enrichi }
ToEnd :=Length(Text)-StartPos;
FoundAt :=FindText(FindDialog1.FindText,StartPos,ToEnd,[stMatchCase]);
if FoundAt <>-1 then
begin
SetFocus;
SelStart :=FoundAt;
SelLength :=Length(FindDialog1.FindText);
end;