RichEdit

Messages postés
15
Date d'inscription
vendredi 11 septembre 2015
Dernière intervention
14 décembre 2016
- - Dernière réponse : dubois77
Messages postés
692
Date d'inscription
jeudi 17 avril 2008
Dernière intervention
14 septembre 2018
- 26 mai 2016 à 15:52
Bonsoir,

Jutilise un RichEdit1 pour afficher des donnée en voici le code :

for n := 1 to StrToInt(seriale1.SiC_PunchingCounter) do
if (seriale1.SiC_PunchingCounter <> '0') then
RichEdit1.Lines.Append(+seriale1.SiC_PunchingCodeNumbers[n]); //Punching time

Je m'explique Seriale1 est un composant pour me connecter à un boitier electronique qui receptionne
des donné provennant d'une puce éléctronique.

Quand j'insert ma puce dans ce boitier cela me fais plusieurs ligne or je souhaiterais que
ca face une seule ligne.

Quelqu'un pourrais m'aider?
Afficher la suite 

Votre réponse

5 réponses

Messages postés
161
Date d'inscription
samedi 15 novembre 2003
Dernière intervention
10 décembre 2018
0
Merci
salut
quelle ligne veut tu afficher ?? la première la dernière une autre ??

quand tu fait
for n := 1 to StrToInt(seriale1.SiC_PunchingCounter) do 
if (seriale1.SiC_PunchingCounter <> '0') then

c'est normal que tu affiche autant de lignes qui correspondent a
seriale1.SiC_PunchingCounter <> '0'

--

papyvore
Commenter la réponse de papyvore
Messages postés
423
Date d'inscription
samedi 17 mai 2003
Dernière intervention
4 août 2018
0
Merci
Salut,

pourquoi un RichEdit ?

Si j'ai bien compris ce que tu veux obtenir, tu peux concaténer le chaque résultat de la boucle dans une chaîne (string), et, après l'exécution de la boucle, afficher ce résultat dans le RichEdit, comme ça :

var
  n: Integer;
  s: string;
begin
  s := '';
  for n := 1 to StrToInt(seriale1.SiC_PunchingCounter) do
  if (seriale1.SiC_PunchingCounter <> '0') then
    //RichEdit1.Lines.Append('' + seriale1.SiC_PunchingCodeNumbers[n]);
    s := s + seriale1.SiC_PunchingCodeNumbers[n];
  RichEdit1.Lines.Text := s;
end;
Commenter la réponse de korgis
Messages postés
4229
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
3 août 2018
0
Merci
Salut,

je vois plutôt quelque chose comme:
var
n: Integer;
s: string;
begin
s := '';
if (seriale1.SiC_PunchingCounter <> '0') then
for n := 1 to StrToInt(seriale1.SiC_PunchingCounter) do
s := s + seriale1.SiC_PunchingCodeNumbers[n];
RichEdit1.Lines.Text := s;
end;

ça évite des testes inutiles ;)
korgis
Messages postés
423
Date d'inscription
samedi 17 mai 2003
Dernière intervention
4 août 2018
-
Bien vu (encore une fois) Cirec !
Je m'étais focalisé sur la question posée, sans avoir remarqué le manque de logique du code...
Cirec
Messages postés
4229
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
3 août 2018
> korgis
Messages postés
423
Date d'inscription
samedi 17 mai 2003
Dernière intervention
4 août 2018
-
^^
ça m'arrive aussi va ... faut pas croire ;)
Commenter la réponse de Cirec
Messages postés
15
Date d'inscription
vendredi 11 septembre 2015
Dernière intervention
14 décembre 2016
0
Merci
Merci

voici le code adapté à mon besoin

if (seriale1.SiC_PunchingCounter <> '0') then begin

RichEdit1.SelAttributes.Color := clNavy;
RichEdit1.Lines.Add(seriale1.SiC_FirstName+ ' '+ seriale1.SiC_SurName+' '+seriale1.SiC_No+' arrivé à : '+seriale1.SiC_FinishTime);
RichEdit1.Lines.Add('Heure de lecture : '+TimeToStr(Now));
RichEdit1.Lines.Add('Nombre de poste : ' + seriale1.SiC_PunchingCounter);
for n := 1 to StrToInt(seriale1.SiC_PunchingCounter) do
s := s +' '+ seriale1.SiC_PunchingCodeNumbers[n];
RichEdit1.Lines.Add( s);
end;
dubois77
Messages postés
692
Date d'inscription
jeudi 17 avril 2008
Dernière intervention
14 septembre 2018
-
La variable s est initialisée comment et quand ?
( s := s + xxxx )
Commenter la réponse de clem68100
Messages postés
4229
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
3 août 2018
0
Merci
Merci

voici le code adapté à mon besoin
...

ben on est loin de la question de départ
et on avait pas autant de précisions pour en arriver là !!!

faut presque être voyant ^^
Commenter la réponse de Cirec

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.