Compter que les lignes utilisées dans un Tmemo [Résolu]

marin1617 42 Messages postés samedi 3 août 2013Date d'inscription 15 août 2014 Dernière intervention - 18 sept. 2013 à 17:35 - Dernière réponse : jordane45 20652 Messages postés mercredi 22 octobre 2003Date d'inscriptionContributeurStatut 26 avril 2018 Dernière intervention
- 20 sept. 2013 à 16:46
Bonjour, je cherche à compter que les lignes écrites dans un Tmemo.
pour le moment avec

label1.Caption := ('Nb  d'' évènements  ' + inttostr (memoRecept.lines.Count)) ;


Cela me compte toutes les lignes.
Par exemple :
bonjour

salut
aurevoir

Doit donner 3 lignes, et non 4

Merci de votre aide
Afficher la suite 

7 réponses

Répondre au sujet
jordane45 20652 Messages postés mercredi 22 octobre 2003Date d'inscriptionContributeurStatut 26 avril 2018 Dernière intervention - 18 sept. 2013 à 17:56
0
Utile
Bonjour,
En bouclant sur les lignes et en vérifiant si elles ne sont pas vide..

Quelque chose du genre :
  for i := 0 to memoRecept.Lines.Count - 1 do
    if memoRecept.Text[i]<>"" then count := count + 1;
      ShowMessage('Nb Lines count: ' + IntToSTr(count))


Commenter la réponse de jordane45
Cirec 4217 Messages postés vendredi 23 juillet 2004Date d'inscriptionModérateurStatut 3 avril 2018 Dernière intervention - 19 sept. 2013 à 13:34
0
Utile
1
Salut,

@Jordane45 :

tu es proche de la solution mais une petite erreur c'est glissée dans ton code ...

le plus surprenant c'est qu'il donne un résultat correct avec le contenu donné par Marin1617
mais il suffit d'ajouter quelques lignes pour voir que ça ne colle plus.

C'est l'utilisation de la propriété "Text" du mémo qui est inapproprié ... elle renvoie tout le texte contenu dans le mémo. ou caractère par caractère en faisant Text[I].

il faut utiliser la propriété "Lines[I]" qui elle renvoie le contenu ligne par ligne:
var
  I, aCount: Integer;
begin
  for i := 0 to memoRecept.Lines.Count - 1 do
    if memoRecept.Lines[i]<>'' then acount := acount + 1;
      ShowMessage('Nb Lines count: ' + IntToSTr(acount));
end;

jordane45 20652 Messages postés mercredi 22 octobre 2003Date d'inscriptionContributeurStatut 26 avril 2018 Dernière intervention - 19 sept. 2013 à 13:56
hello
tu es proche de la solution
Pour quelqu'un qui n'a jamais (mais vraiment JAMAIS) touché au DELPHI je peux en être fier alors :-)
Juste un peu de logique et de savoir faire concernant l'utilisation des moteurs de recherche ^^

L'essentiel c'est que quelqu'un ai pu lui donner LA bonne réponse :-p

Bonne journée à vous.
Commenter la réponse de Cirec
marin1617 42 Messages postés samedi 3 août 2013Date d'inscription 15 août 2014 Dernière intervention - 19 sept. 2013 à 14:46
0
Utile
1
Bonjour et un grand merci jordane45 et Cirec

Voici comment j'ai fait

 richEditRecept.Lines.Add(trameCp);  // ecriture dans le RicheditRecept
            Cpt_Evt := Cpt_Evt + 1;


Et dans un Timer
label5.Caption :=  IntToStr (Cpt_Evt);
jordane45 20652 Messages postés mercredi 22 octobre 2003Date d'inscriptionContributeurStatut 26 avril 2018 Dernière intervention - 19 sept. 2013 à 16:02
Si la question est résolue, Merci de clore cette discussion
"MARQUER EN RESOLU"
Commenter la réponse de marin1617
Cirec 4217 Messages postés vendredi 23 juillet 2004Date d'inscriptionModérateurStatut 3 avril 2018 Dernière intervention - 20 sept. 2013 à 16:09
0
Utile
1
marin1617 a dit:
Voici comment j'ai fait

richEditRecept.Lines.Add(trameCp);  // ecriture dans le RicheditRecept
            Cpt_Evt := Cpt_Evt + 1;

sauf que si TrameCp vaut '' tu ajoutes une ligne vide qui sera comptabilisée

et pourquoi mettre ceci dans un Timer:
label5.Caption := IntToStr (Cpt_Evt);

tu pouvais simplement le mettre à la suite de "Cpt_Evt := Cpt_Evt + 1;"
ce qui éviterait d'occuper inutilement le processeur avec un Timer qui va tourner continuellement
et rafraichir l'affichage même quand c'est pas nécessaire !!!

jordane45 à dit:
Pour quelqu'un qui n'a jamais (mais vraiment JAMAIS) touché au DELPHI je peux en être fier alors :-)
Alors là oui tu peux être fier et je dis même bravo
peut être que tu devrais t'y mettre ^^
tu sembles avoir des facilitées
jordane45 20652 Messages postés mercredi 22 octobre 2003Date d'inscriptionContributeurStatut 26 avril 2018 Dernière intervention - 20 sept. 2013 à 16:46
peut être que tu devrais t'y mettre ^^
tu sembles avoir des facilitées
Merci mais j'ai déjà suffisamment à faire avec les autres ^^
Pour ce qui est des "facilités".. et bien... disons qu'à force de chercher des infos sur différents langages..on apprend vite "comment" chercher pour n'importe lequel. ^^

Bonne continuation.

Cordialement,
Jordane
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.