OVH Cloud OVH Cloud

Combien de lignes dans un TextBox multiligne ???

4 réponses
Avatar
JyM
Bonjour

En VB6:
Dans un controle TextBox multiligne, comment savoir combien de lignes
(séparées par touche Retour) ont été introduites ???
Explication:
Dans un programme où l'utilisateur peut taper une ou plusieurs lignes dans
un TextBox, je dois stocker le texte dans un fichier ASCII en une ligne.
Si j'écris Print #xx, Text1.Text et qu'il y a 3 lignes dans le contrôle, je
vais stocker 3 lignes. Or, je n'en veux qu'une.
Question subsidiaire:
Si à l'inverse mon programme écrit la ligne dans mon TextBox avec Line Input
#xx, par quelle astuce puis-je re-créer 3 lignes??

Est-ce limpide ??
Merci

4 réponses

Avatar
houbahop2003
Bonjour,
dans un controle multiligne, les sauts de lignes sont matérialisés par deux
caractéres : CR et LF (10 et 13 en ascii)
En vb il existe la constante vbcrlf qui représente ces deux caractéres mis
cote a cote , cad un saut de ligne.
Donc,
si tu veux savoir le nombre de sauts de lignes dans un controle,
- tu récupére son contenu texte dans une variable chaine : MaVar=text1.text
- tu utilise l'instruction Split() pour le découper dans un tableau en
donnant Vbcrlf comme délimitateur
ubound(tableauresultatdusplit)+1 devrait représenter le nombre de saut de
ligne

Penses aussi, que tu as la possibilité d'utiliser l'instructrion replace()
pour remplacer vbcrlf par un autre caractére (vbtab par exemple si celui ci
n'est jamais utilisé dans ton textbox) puis tu enregistres dans le fichier
A la lecture tu remplace VbTab par Vbcrlf pour obtenir la chaine de avant
enregistrement.

Bonne chance,
D.

"JyM" a écrit dans le message de news:
cj1fup$i2d$
Bonjour

En VB6:
Dans un controle TextBox multiligne, comment savoir combien de lignes
(séparées par touche Retour) ont été introduites ???
Explication:
Dans un programme où l'utilisateur peut taper une ou plusieurs lignes dans
un TextBox, je dois stocker le texte dans un fichier ASCII en une ligne.
Si j'écris Print #xx, Text1.Text et qu'il y a 3 lignes dans le contrôle,


je
vais stocker 3 lignes. Or, je n'en veux qu'une.
Question subsidiaire:
Si à l'inverse mon programme écrit la ligne dans mon TextBox avec Line


Input
#xx, par quelle astuce puis-je re-créer 3 lignes??

Est-ce limpide ??
Merci





Avatar
JyM
Merci, ça m'a l'air clair....


"houbahop2003" a écrit dans le message de
news:41546084$0$759$
Bonjour,
dans un controle multiligne, les sauts de lignes sont matérialisés par


deux
caractéres : CR et LF (10 et 13 en ascii)
En vb il existe la constante vbcrlf qui représente ces deux caractéres mis
cote a cote , cad un saut de ligne.
Donc,
si tu veux savoir le nombre de sauts de lignes dans un controle,
- tu récupére son contenu texte dans une variable chaine :


MaVar=text1.text
- tu utilise l'instruction Split() pour le découper dans un tableau en
donnant Vbcrlf comme délimitateur
ubound(tableauresultatdusplit)+1 devrait représenter le nombre de saut de
ligne

Penses aussi, que tu as la possibilité d'utiliser l'instructrion replace()
pour remplacer vbcrlf par un autre caractére (vbtab par exemple si celui


ci
n'est jamais utilisé dans ton textbox) puis tu enregistres dans le fichier
A la lecture tu remplace VbTab par Vbcrlf pour obtenir la chaine de avant
enregistrement.

Bonne chance,
D.

"JyM" a écrit dans le message de news:
cj1fup$i2d$
> Bonjour
>
> En VB6:
> Dans un controle TextBox multiligne, comment savoir combien de lignes
> (séparées par touche Retour) ont été introduites ???
> Explication:
> Dans un programme où l'utilisateur peut taper une ou plusieurs lignes


dans
> un TextBox, je dois stocker le texte dans un fichier ASCII en une ligne.
> Si j'écris Print #xx, Text1.Text et qu'il y a 3 lignes dans le contrôle,
je
> vais stocker 3 lignes. Or, je n'en veux qu'une.
> Question subsidiaire:
> Si à l'inverse mon programme écrit la ligne dans mon TextBox avec Line
Input
> #xx, par quelle astuce puis-je re-créer 3 lignes??
>
> Est-ce limpide ??
> Merci
>
>
>




Avatar
msnews.microsoft.com
Salut, pas 10+13, mais 13+10 (cr + lf) il me semble...

"houbahop2003" a écrit dans le message de
news:41546084$0$759$
Bonjour,
dans un controle multiligne, les sauts de lignes sont matérialisés par


deux
caractéres : CR et LF (10 et 13 en ascii)
En vb il existe la constante vbcrlf qui représente ces deux caractéres mis
cote a cote , cad un saut de ligne.
Donc,
si tu veux savoir le nombre de sauts de lignes dans un controle,
- tu récupére son contenu texte dans une variable chaine :


MaVar=text1.text
- tu utilise l'instruction Split() pour le découper dans un tableau en
donnant Vbcrlf comme délimitateur
ubound(tableauresultatdusplit)+1 devrait représenter le nombre de saut de
ligne

Penses aussi, que tu as la possibilité d'utiliser l'instructrion replace()
pour remplacer vbcrlf par un autre caractére (vbtab par exemple si celui


ci
n'est jamais utilisé dans ton textbox) puis tu enregistres dans le fichier
A la lecture tu remplace VbTab par Vbcrlf pour obtenir la chaine de avant
enregistrement.

Bonne chance,
D.

"JyM" a écrit dans le message de news:
cj1fup$i2d$
> Bonjour
>
> En VB6:
> Dans un controle TextBox multiligne, comment savoir combien de lignes
> (séparées par touche Retour) ont été introduites ???
> Explication:
> Dans un programme où l'utilisateur peut taper une ou plusieurs lignes


dans
> un TextBox, je dois stocker le texte dans un fichier ASCII en une ligne.
> Si j'écris Print #xx, Text1.Text et qu'il y a 3 lignes dans le contrôle,
je
> vais stocker 3 lignes. Or, je n'en veux qu'une.
> Question subsidiaire:
> Si à l'inverse mon programme écrit la ligne dans mon TextBox avec Line
Input
> #xx, par quelle astuce puis-je re-créer 3 lignes??
>
> Est-ce limpide ??
> Merci
>
>
>




Avatar
houbahop2003
:) j'avais un doute, je n'ai pas pris la peine de vérifier, tu as
certainement raison.
D.
"msnews.microsoft.com" <Le a écrit dans le message de news:
#
Salut, pas 10+13, mais 13+10 (cr + lf) il me semble...