Colorier valeur?

[Résolu]
Signaler
Messages postés
77
Date d'inscription
mercredi 5 avril 2006
Statut
Membre
Dernière intervention
9 mai 2006
-
Messages postés
304
Date d'inscription
lundi 30 décembre 2002
Statut
Membre
Dernière intervention
10 mars 2012
-
j'ai une succesion de valeur dans un memo1, une fois que toue les valeurs sont affichées comment puis-je mettre en rouge l'une d'elles?

34 réponses

Messages postés
304
Date d'inscription
lundi 30 décembre 2002
Statut
Membre
Dernière intervention
10 mars 2012

non ça marche !!!
mais selectLine c'est une procedure que j'ai rajouter ça ne fait pas partie du composant TRichEdit

je pense que tu as mis cette procedure

procedure TForm1.SelectLine(Index: Integer; Color_ : TColor);
begin
with RichEdit1 , SelAttributes, Lines do
begin
SelStart := Pos(Lines[Index] , Text)-1;
SelLength := Length(Lines[Index]);
Color := Color_;
end;
end;


Richedit1.Lines.Clear;
Richedit1.Lines.add('aaaaaaaaaa'); Ligne n° 0
Richedit1.Lines.add('bbbbbbbbbb'); Ligne n° 1
Richedit1.Lines.add('cccccccccc'); Ligne n° 2

SelectLine(1 , clRed); <== pas besoin de l'inclure dans with RichEdit
Messages postés
135
Date d'inscription
jeudi 14 août 2003
Statut
Membre
Dernière intervention
12 octobre 2006
1
impossible dans un memo, il ne fait que l'affichage de texte brut. Il faut que tu utilise un RichEdit pour pouvoir modifier les couleurs, font, taille du texte


bouh
Messages postés
77
Date d'inscription
mercredi 5 avril 2006
Statut
Membre
Dernière intervention
9 mai 2006

ok mai comment je fais pour q'une seule ligne soit colorier dans richedit?
faut il que j'enregistre sous un nom chaque ligne puis je color la ligne choisis? comment faire??
Messages postés
77
Date d'inscription
mercredi 5 avril 2006
Statut
Membre
Dernière intervention
9 mai 2006

j'ai trouvé que Richedit1.SelAttributes.Color := ClRed; specifie la couleur mais maintenant jvoudrai colorié seulement une ligne precise
Messages postés
77
Date d'inscription
mercredi 5 avril 2006
Statut
Membre
Dernière intervention
9 mai 2006

appramment en faisant
SelStart := Perform(EM_LINEINDEX, 3, 0);
Perform(EM_SCROLLCARET, 0, 0);
je selectionne laa ligne 3 mais comment la mettre en rouge?
Messages postés
194
Date d'inscription
dimanche 2 mars 2003
Statut
Membre
Dernière intervention
10 octobre 2006
2
SelStart détermine la position du caractère de départ.
SelLength détermine le nombre de caractères à sélectionner.
SelAttributes.Color := clRed; pour mettre ce qui a été sélectionné par les 2 lignes du dessus en rouge.

Tout problème a sa solution... Mais en général, c'est jamais la bonne...
Messages postés
77
Date d'inscription
mercredi 5 avril 2006
Statut
Membre
Dernière intervention
9 mai 2006

jai deja essayé mais ça ne marche pas
Messages postés
77
Date d'inscription
mercredi 5 avril 2006
Statut
Membre
Dernière intervention
9 mai 2006

oui mais je ne dois pas utiliser de bouton
mon programme affiche 10 valeur dans richedit et je veux ensuite en metre une en rouge
Messages postés
304
Date d'inscription
lundi 30 décembre 2002
Statut
Membre
Dernière intervention
10 mars 2012

with RichEdit1, SelAttributes do
begin
SelText := '';
Color := clblue;
SelText := SelText + 'Hello';
Color := clRed;
SelText := SelText + ' World';
end;

facile non ?
Messages postés
77
Date d'inscription
mercredi 5 avril 2006
Statut
Membre
Dernière intervention
9 mai 2006

lol oui ça j'ai compris mais parexemple j'ai dix valeur les unes apres les autres dans mon richedit
je ve mettre en rouge la valeur se trouvant a la ligne X comment je fais?
j'essaye de comprendre:
SelStart := length(lines[0]);
SelLength := Length(Lines[0]);
SelAttributes.Color := clRed;
mais je ne vois pas comment je selectionne precisement une ligne
Messages postés
304
Date d'inscription
lundi 30 décembre 2002
Statut
Membre
Dernière intervention
10 mars 2012

bon j'ai taper trop vite dans mon exemple "Hello" n'a pas besoin d'être concassé puisque j'ai initialisé SelText = '' mais pour le reste tu peux même mettre un seul caratère en "gras" , "italic" ect..


Exemple

with RichEdit1, SelAttributes do
begin
Color := clblue;
SelText := 'Hello';
Color := clRed;
SelText := SelText + ' World';
Style := [fsBold];
Color := clBlack;
SelText := SelText + ' Le MacDo c''est trop Gras';
end;
Messages postés
77
Date d'inscription
mercredi 5 avril 2006
Statut
Membre
Dernière intervention
9 mai 2006

ok mais dans ton exmple tu choisis la couleur avant d'ecrire. Moi toute les valeurs sont deja ecrite en noir et sont ecrite dans richedit. Maintenant je voudraix en mettre une seule en rouge
Messages postés
3826
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
10 mai 2021
46
non mais tu le fais exprès où quoi ?
les boutons sont la pour pouvoir répéter l'opération
ce qui est intéressant c'est le code qui se trouve dans le bouton



@+
Cirec
Messages postés
304
Date d'inscription
lundi 30 décembre 2002
Statut
Membre
Dernière intervention
10 mars 2012

avec mon exemple plus haut

with RichEdit1, SelAttributes do
begin
SelStart := 8;
SelLength := Length('World')+1;
Color := clBlack;
end;
Messages postés
77
Date d'inscription
mercredi 5 avril 2006
Statut
Membre
Dernière intervention
9 mai 2006

lol dsl mais on ne se comprend pas. un appareil envoie 10 mesures au PC qui les ecrit dans richedit.En fait en appuyant sur UN bouton mon programme lie les valeurs de lappareil puis les ecrit dans richedit pui je voudrait qu'il en mette une en rouge (en sachant qu'audepart la valeur est en noir) .
Messages postés
77
Date d'inscription
mercredi 5 avril 2006
Statut
Membre
Dernière intervention
9 mai 2006

je commence a comprendre. Mais on compte les caractere Peuton compter par ligne?
Messages postés
304
Date d'inscription
lundi 30 décembre 2002
Statut
Membre
Dernière intervention
10 mars 2012

Okay je crois comprendre ce que tu veux

j'ai fait cette fonction qui selectionne une ligne et la colorise(en entier)

procedure TForm1.SelectLine(Index: Integer; Color_ : TColor);
begin
with RichEdit1 , SelAttributes, Lines do
begin
SelStart := Pos(Lines[Index] , Text)-1;
SelLength := Length(Lines[Index]);
Color := Color_;
end;
end;
Messages postés
304
Date d'inscription
lundi 30 décembre 2002
Statut
Membre
Dernière intervention
10 mars 2012

arf l'exemple dans tout ça nan de dieu !!!!!

with RichEdit1, SelAttributes, Lines do
begin
Add('Hello World');
Add('This is a test');
end;
SelectLine(0 , clRed); <== c'est la 1er ligne qui sera en rouge
SelectLine(1 , clRed); <== c'est la second ligne qui sera en rouge
Messages postés
77
Date d'inscription
mercredi 5 avril 2006
Statut
Membre
Dernière intervention
9 mai 2006

Merci on se rapproche. je vais essayer qqch de se genre en sachant que je ne connais pas les valeur qui vont etre affichés. Donc Text je ne sais pas par quoi le remplacer meci beaucoup
Messages postés
77
Date d'inscription
mercredi 5 avril 2006
Statut
Membre
Dernière intervention
9 mai 2006

selectLine ne marche pas
par exemple
begin


Richedit1.Lines.Clear;
Richedit1.Lines.add('aaaaaaaaaa');
Richedit1.Lines.add('bbbbbbbbbb');
Richedit1.Lines.add('cccccccccc');



with RichEdit1 do begin
selectline(1,clred);


end;
end;


end.

je veux mettre en rouge la 2eme ligne