Réponse acceptée !
Bonjour,
procedure TForm1.Button1Click(Sender: TObject);
var
i, NoLigne : integer ;
DebutLigne : Integer ;
begin
with richedit1 do
begin
// Stockage du numéro de ligne
// La sélection du richEdit est une sélection absolue
// c'est à dire qu'elle ne redémarre pas à chaque nouvelle ligne.
NoLigne := lines.Add('<'+monsn+'>'+edit1.text );
DebutLigne := 0 ;
// Parcours des lignes pour ajouter la taille de chacune des chaines
// Et obtenir le début "absolu" de la nouvelle chaine ajoutée
for i := 0 to NoLigne-1 do
begin
// Ne pas oublier le CR LF de fin de ligne, d'où le plus 2
DebutLigne := DebutLigne + Length( Lines[i] ) + 2 ;
end ;
// <
SelStart:=DebutLigne;
Sellength:=1;
SelAttributes.Name:='MS sans serif';
SelAttributes.size:=11;
SelAttributes.Color:=clblack;
// monsn
SelStart:=SelStart+1;
Sellength:=length(monsn);
SelAttributes.Name:='MS sans serif';
SelAttributes.size:=11;
SelAttributes.Color:=clnavy;
// >
SelStart:=SelStart+length(monsn);
Sellength:=1;
SelAttributes.Name:='MS sans serif';
SelAttributes.size:=11;
SelAttributes.Color:=clblack;
// Reste du texte
SelStart:=SelStart+1;
Sellength:=Length(Lines[i])-length(monsn)-1;
SelAttributes.color:=couleur.Color;
SelAttributes.Name:=font.Font.Name;
SelAttributes.Size:=font.Font.Size;
SelAttributes.Style:=font.Font.Style;
edit1.Text:='';
end;
end;
Cordialement.
L'imbécile prétentieux est celui qui se croit plus intelligent que ceux qui sont aussi bêtes que lui.