procedure TForm1.RechercheUnCaractereDansLeRichEditEtColorieLaSuite(Car : Char; Couleur : TColor); var i : Integer; begin i := Pos(Car,RichEdit1.Text); //position du caractère dasn le richedit if i>0 then begin RichEdit1.SelStart := i; // sélection premier caractère suivant RichEdit1.SelLength := Length(RichEdit1.Text); // jusqu'à la fin RichEdit1.SelAttributes.Color := Couleur; // modif couleur RichEdit1.SelLength := 0; // effacement marquage sélection end; end;
procedure TForm1.RechercheCaractere(Car : Char; Couleur : TColor); var i : Integer; begin i := Pos(Car, memo1.text); //position du caractère dasn le richedit if i>0 then begin if couleur = $00000000 then memo1.SelStart := i + 1 // sélection premier caractère suivant else memo1.SelStart := i - 1; // sélection premier caractère suivant memo1.SelLength := Length(memo1.text); // jusqu'à la fin memo1.SelAttributes.Color := Couleur; // modif couleur memo1.SelLength := 0; // effacement marquage sélection end; end;
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionprocedure TForm4.JvHTButton1Click(Sender: TObject); var x : integer ; baliseouverte : Boolean ; balisefermer : Boolean ; propattrib : Boolean ; progress : integer ; begin jvprogressbar1.Max := length(form1.memo1.Text) ; listbox1.Clear ; balisefermer := true ; baliseouverte := false ; propattrib := false ; form1.memo1.selstart := 1 ; form1.memo1.sellength := length(form1.memo1.Text) ; form1.memo1.SelAttributes.color := $00000000 ; for x := 1 to length(form1.memo1.Text) do begin if form1.memo1.Text[x] = '<' then begin if baliseouverte = true then listbox1.Items.Add('Erreur : double ouverture d''une balise.') ; baliseouverte := true ; form1.memo1.selstart := x - 1 ; form1.memo1.sellength := length(form1.memo1.text) ; form1.memo1.SelAttributes.Color := $00FF0000 ; form1.memo1.sellength := 0 ; end; if form1.memo1.Text[x] = '>' then begin if baliseouverte = false then listbox1.Items.Add('Erreur : double fermeture d''une balise.'); baliseouverte := false ; form1.memo1.selstart := x - 1; form1.memo1.sellength := 1 ; form1.memo1.SelAttributes.Color := $00FF0000 ; form1.memo1.sellength := 0 ; form1.memo1.selstart := x ; form1.memo1.sellength := length(form1.memo1.text) ; form1.memo1.SelAttributes.Color := $00000000 ; form1.memo1.sellength := 0 ; end; if form1.memo1.Text[x] = '"' then begin if baliseouverte = true then begin if propattrib = true then begin form1.memo1.selstart := x ; form1.memo1.sellength := length(form1.memo1.text) ; form1.memo1.SelAttributes.Color := $000000FF ; form1.memo1.sellength := 0 ; propattrib := false ; end else begin form1.memo1.selstart := x - 1; form1.memo1.sellength := length(form1.memo1.text) ; form1.memo1.SelAttributes.Color := $00007A56 ; form1.memo1.sellength := 0 ; propattrib := true ; end; end; end; if (form1.memo1.Text[x] = ' ') and (baliseouverte = true) and (propattrib = false) then begin form1.memo1.selstart := x ; form1.memo1.sellength := length(form1.memo1.Text) ; form1.memo1.SelAttributes.Color := $000000FF ; form1.memo1.sellength := 0 ; end; if (form1.memo1.Text[x] = '=') and (baliseouverte = true) then begin if form1.memo1.Text[x + 1] <> '"' then listbox1.Items.Add('il est préférable d''encadré une propriété par des ["]'); form1.memo1.selstart := x + 1 ; form1.memo1.sellength := length(form1.memo1.Text) ; form1.memo1.SelAttributes.Color := $0000FF00 ; form1.memo1.sellength := 0 ; end; jvprogressbar1.Position := x ; application.ProcessMessages ; end; end;