Colorier valeur?

Résolu
didi59650 Messages postés 77 Date d'inscription mercredi 5 avril 2006 Statut Membre Dernière intervention 9 mai 2006 - 14 avril 2006 à 09:27
cs_shining Messages postés 304 Date d'inscription lundi 30 décembre 2002 Statut Membre Dernière intervention 10 mars 2012 - 18 avril 2006 à 13:01
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

cs_shining Messages postés 304 Date d'inscription lundi 30 décembre 2002 Statut Membre Dernière intervention 10 mars 2012
14 avril 2006 à 13:18
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
3
cs_neko Messages postés 135 Date d'inscription jeudi 14 août 2003 Statut Membre Dernière intervention 12 octobre 2006 1
14 avril 2006 à 09:32
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
0
didi59650 Messages postés 77 Date d'inscription mercredi 5 avril 2006 Statut Membre Dernière intervention 9 mai 2006
14 avril 2006 à 09:45
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??
0
didi59650 Messages postés 77 Date d'inscription mercredi 5 avril 2006 Statut Membre Dernière intervention 9 mai 2006
14 avril 2006 à 10:09
j'ai trouvé que Richedit1.SelAttributes.Color := ClRed; specifie la couleur mais maintenant jvoudrai colorié seulement une ligne precise
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
didi59650 Messages postés 77 Date d'inscription mercredi 5 avril 2006 Statut Membre Dernière intervention 9 mai 2006
14 avril 2006 à 11:08
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?
0
Emandhal Messages postés 194 Date d'inscription dimanche 2 mars 2003 Statut Membre Dernière intervention 10 octobre 2006 3
14 avril 2006 à 11:25
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...
0
didi59650 Messages postés 77 Date d'inscription mercredi 5 avril 2006 Statut Membre Dernière intervention 9 mai 2006
14 avril 2006 à 11:41
jai deja essayé mais ça ne marche pas
0
didi59650 Messages postés 77 Date d'inscription mercredi 5 avril 2006 Statut Membre Dernière intervention 9 mai 2006
14 avril 2006 à 12:31
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
0
cs_shining Messages postés 304 Date d'inscription lundi 30 décembre 2002 Statut Membre Dernière intervention 10 mars 2012
14 avril 2006 à 12:34
with RichEdit1, SelAttributes do
begin
SelText := '';
Color := clblue;
SelText := SelText + 'Hello';
Color := clRed;
SelText := SelText + ' World';
end;

facile non ?
0
didi59650 Messages postés 77 Date d'inscription mercredi 5 avril 2006 Statut Membre Dernière intervention 9 mai 2006
14 avril 2006 à 12:39
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
0
cs_shining Messages postés 304 Date d'inscription lundi 30 décembre 2002 Statut Membre Dernière intervention 10 mars 2012
14 avril 2006 à 12:39
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;
0
didi59650 Messages postés 77 Date d'inscription mercredi 5 avril 2006 Statut Membre Dernière intervention 9 mai 2006
14 avril 2006 à 12:43
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
0
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
14 avril 2006 à 12:44
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
0
cs_shining Messages postés 304 Date d'inscription lundi 30 décembre 2002 Statut Membre Dernière intervention 10 mars 2012
14 avril 2006 à 12:44
avec mon exemple plus haut

with RichEdit1, SelAttributes do
begin
SelStart := 8;
SelLength := Length('World')+1;
Color := clBlack;
end;
0
didi59650 Messages postés 77 Date d'inscription mercredi 5 avril 2006 Statut Membre Dernière intervention 9 mai 2006
14 avril 2006 à 12:49
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) .
0
didi59650 Messages postés 77 Date d'inscription mercredi 5 avril 2006 Statut Membre Dernière intervention 9 mai 2006
14 avril 2006 à 12:55
je commence a comprendre. Mais on compte les caractere Peuton compter par ligne?
0
cs_shining Messages postés 304 Date d'inscription lundi 30 décembre 2002 Statut Membre Dernière intervention 10 mars 2012
14 avril 2006 à 12:59
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;
0
cs_shining Messages postés 304 Date d'inscription lundi 30 décembre 2002 Statut Membre Dernière intervention 10 mars 2012
14 avril 2006 à 13:01
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
0
didi59650 Messages postés 77 Date d'inscription mercredi 5 avril 2006 Statut Membre Dernière intervention 9 mai 2006
14 avril 2006 à 13:02
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
0
didi59650 Messages postés 77 Date d'inscription mercredi 5 avril 2006 Statut Membre Dernière intervention 9 mai 2006
14 avril 2006 à 13:10
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
0
Rejoignez-nous