cs_Jos
Messages postés128Date d'inscriptionmardi 26 juin 2001StatutMembreDernière intervention 8 février 2005 6 févr. 2002 à 23:57
Soulignement et surlignement sont bine différents!!!
Tiens, regarde ce code, tout chaud sorti de l'aide de Delphi :
Le gestionnaire d'événement OnFind suivant recherche dans un composant mémo le texte spécifié dans la propriété FindText d'un composant boîte de dialogue de recherche. S'il est trouvé, la première occurrence du texte dans Memo1 est sélectionnée. Le code utilise la fonction Pos pour comparer les chaînes et enregistrer le nombre de caractères à sauter lors de la détermination de la position de sélection dans la variable SkipChars. Comme il n'y a pas de gestion des majuscules/minuscules, des mots entiers ou de direction de recherche dans cet algorithme, il est supposé que la propriété Options de FindDialog1 était initialisée à [frHideMatchCase, frHideWholeWord, frHideUpDown].
var
I, J, PosReturn, SkipChars: Integer;
begin
for I := 0 to Memo1.Lines.Count do
begin
PosReturn := Pos(FindDialog1.FindText,Memo1.Lines[I]);
if PosReturn <> 0 then {trouvé!}
begin
SkipChars := 0;
for J := 0 to I - 1 do
SkipChars := SkipChars + Length(Memo1.Lines[J]);
SkipChars := SkipChars + (I*2);
SkipChars := SkipChars + PosReturn - 1;