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

Signaler
Messages postés
43
Date d'inscription
samedi 3 août 2013
Statut
Membre
Dernière intervention
17 décembre 2019
-
Messages postés
29770
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
19 octobre 2020
-
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

4 réponses

Messages postés
29770
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
19 octobre 2020
338
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))


Messages postés
3818
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
18 septembre 2020
34
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;

Messages postés
29770
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
19 octobre 2020
338
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.
Messages postés
43
Date d'inscription
samedi 3 août 2013
Statut
Membre
Dernière intervention
17 décembre 2019

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);
Messages postés
29770
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
19 octobre 2020
338
Si la question est résolue, Merci de clore cette discussion
"MARQUER EN RESOLU"
Messages postés
3818
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
18 septembre 2020
34
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
Messages postés
29770
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
19 octobre 2020
338
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