Les retours chariots ne sont pas pris en compte dans le textbox [Résolu]

Messages postés
176
Date d'inscription
mercredi 7 avril 2004
Statut
Membre
Dernière intervention
1 avril 2013
- - Dernière réponse : cs_marco62118
Messages postés
176
Date d'inscription
mercredi 7 avril 2004
Statut
Membre
Dernière intervention
1 avril 2013
- 2 août 2009 à 09:59
bonsoir à tous
dans un textbox je charge le contenu d'un fichier texte, dans lequel il y a des "chr(13)", mais malheureusement le texte est affiché à la queu lele sans retour à la ligne. comment faire pour voir ces retours à la ligne.
je ne veux pas utiliser richtextbox pour ne pas augmenter les fichiers de difusion.
merci pour votre aide
Afficher la suite 

15 réponses

Meilleure réponse
Messages postés
1566
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
5 avril 2013
3
3
Merci
Bonjour,

Bien évidemment, la propriété Multiline est à mettre à True.

Mais si ton fichier texte n'utilise que des Chr(13) pour assurer les alinéas, il convient de remplacer (fonction Replace) les Chr(13) par des VbCrlf.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 220 internautes nous ont dit merci ce mois-ci

Commenter la réponse de jmf0
Messages postés
2811
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
26 novembre 2013
17
0
Merci
Salut,

Met la propriété Multiline de ton textbox sur 'true'

@+ Mayzz.

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
Commenter la réponse de Mayzz
Messages postés
2811
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
26 novembre 2013
17
0
Merci
vbCrLf est lié au réf vb6, tu peux par contre faire :

Text = Replace(Text, Chr(13), Chr(10) & Chr(13))

Uniquement si ton texte ne contient que des chr(13) à la place des retrours chariot.

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
Commenter la réponse de Mayzz
Messages postés
60
Date d'inscription
jeudi 30 avril 2009
Statut
Membre
Dernière intervention
28 novembre 2009
0
Merci
Tu n'a qu'a mettre une condition qui fait que lorsque tu rencontre un caractere specifique dans une chaine tu ajoute un retour de ligne.

Avec "vbCrLf":
Exemple:
outputText &= vbCrLf

Et je crois qu'il existe aussi Environnement.NewLine ou quelques choses comme ca.
Commenter la réponse de CodeIX
Messages postés
1566
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
5 avril 2013
3
0
Merci
VbNewline
Commenter la réponse de jmf0
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
11
0
Merci
Les constantes vbCRLF, vbNewLine et la fonction Chr sont des fonction de compatibilité à VB6. Pour le passage à la ligne, mieux vaut utiliser Environnement.NewLine (si c'est pour du code managé, autant tout faire dans les règles de l'art ... pas besoin de faire un mix VB6/.NET)

---
VB.NET is good ... VB6 is better
Commenter la réponse de cs_ghuysmans99
Messages postés
2811
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
26 novembre 2013
17
0
Merci
Moué en fait tout le monde dit ca, mais la réf à vb6 est purement natif au framework... Tout le monde dit qu'il faut la décocher, certes, c'est mieux de perdre les mauvaise habitudes, mais en pratique c'est pas si dramatique.

Sans compter que tout le monde parle de cette réf. dès que l'on pointe un vbcr, mais ce n'est pas le cas pour msgbox, instr, mid, Len etc...

@+

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
Commenter la réponse de Mayzz
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
11
0
Merci
Disons qu'il faut profiter d'un des seuls avantages (à mon sens) de VB.NET par rapport à VB6 : il est entièrement orienté objet. Les fonctions de la réf. Microsoft.VisualBasic ne suivent pas du tout cette logique.

---
VB.NET is good ... VB6 is better
Commenter la réponse de cs_ghuysmans99
Messages postés
2811
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
26 novembre 2013
17
0
Merci
Oué.. Pour quelques fonctions basiques et quelques constantes, on ne peut pas vraiment comparer...

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
Commenter la réponse de Mayzz
Messages postés
13298
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
28
0
Merci
(première réponse bonne, pas mal de participations, vous vous battez pour aider? )


sans vouloir lancer le débat, (interessant mais déjà évoqué tellement de fois) : perso je conseille aussi de décocher
(tant pour vbnewline que msgbox et toute la clique, pour ma part en tout cas!)

managé oui, ce n'est pas du "vb6" derrière, on est d'accord
seulement vb6 en 1997
vb.net est sorti en 2002 (il me semble)
la version DOTNET (je dis ici "version" volontairement) a alors été dotée d'un "outil" pour forcer plus ou moins les dev à quitter vb6

magie, cet outil permet de coder en dotnet (et donc ensuite d'être forcé à suivre les framework sans rétro-compatibilité, même avec du retard... ihi) tout en gardant notre "vieille syntaxe"

vb2008..., cet "outil" (oui je parle évidemment de la ref ms.visualbasic) est toujours présent, car trop de dev n'ont pas encore appris (même depuis 2002!!) à coder en vb.net (langage, là)

mais si MS se dit pour vb2010 ou vb2012 "bon ok, vb6 a plus de 15 ans, presque plus d'appli vb6 ne tourne, l'ide n'est plus installable sur les récentes plateformes, et dotnet a 10ans ; on y est : plus de référence (et donc de syntaxe) à ms.vb dans le framework 4.x"

j'suis curieux de voir le gars qui code depuis 10 ans soit disant en dotnet et qui va mettre une heure à faire un messagebox.show("hello world")....
j'exagère à peine quand on lit certaines questions, il faut se l'avouer

juste parce que c'est coché par défaut? ou parce qu'il n'est jamais facile de changer de langage...


(oui, utiliser cette syntaxe... le résultat n'est pas sale puisque managé. mais quand on change de langage, on accepte CE langage logiquement, non?)

mais bon, çà n'engage que moi, fervent défenseur de vb6
(même si parfois..., pour me forcer )

bonne soirée à tous
Commenter la réponse de PCPT
Messages postés
13298
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
28
0
Merci
je rebondis sur une de tes réponses mayzz :

vbCrLf est lié au réf vb6, tu peux par contre faire :
Text = Replace(Text, Chr(13), Chr(10) & Chr(13))


en vb6 (thème de la question), comme dans tout langage de toute façon, on préfèrera utiliser une constante qu'une fonction (pas de calcul inutile)

chr(10) c'est vb lf => LineFeed
chr(13) c'est vbcr => CarriageReturn
la terminaison de ligne + retour c'est bien chr$(13) & chr$(10), mais on predra la constante directement (vbcrlf), comme le conseillait jmf0 (salut)

voilà juste pour la petite explication, pas vitale mais bon...

rappel : de toute façon ici le remplace ne semble pas utile
Commenter la réponse de PCPT
Messages postés
2811
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
26 novembre 2013
17
0
Merci
Oup's désolé !

En tous cas en ce qui concerne ms.visualbasic, pour ma par si je m'en sers toujours ce n'est pas à cause des réflèxes vb6 que j'ai d'ailleur perdu depuis un moment (je m'en rend compte dès que je remet la main à la patte), mais parce que c'est plus rapide, vbcrlf et environement.newline, ou encore msgbox et messagebox.show, ya pas photo, je me dis que cela raccourci mon code.

Si demain elle devait être supprimé cela ne me gènerais pas le moins du monde, je prendrais l'habitude des fonctionnalités .Net.

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
Commenter la réponse de Mayzz
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
61
0
Merci
Mon grain de sel
Pourquoi parlez-vous de .Net alors que la question est dans la catégorie VB6 ?
Pour une fois qu'un membre prend la peine de bien choisir la catégorie ...
Commenter la réponse de cs_Jack
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
11
0
Merci
C'est pas bête, ce que tu dis là Jack ... (j'dis aux autres de lire la catégorie dans laquelle ils se trouvent et je le fais même pas moi-même )

---
VB.NET is good ... VB6 is better
Commenter la réponse de cs_ghuysmans99
Messages postés
176
Date d'inscription
mercredi 7 avril 2004
Statut
Membre
Dernière intervention
1 avril 2013
1
0
Merci
bonjour à tous
et merci pour votre participation
Oui c'est bien parceque dans les texte que j'avais créé je n'avais mis que "chr(13)" comme retour chariot, je n'y voiyais pas de différence car dans un msgbox le texte s'affiche bien avec un retour à la ligne, mais pas dans un textbox.
Pour votre discussion entre vb6 donet etc... moi je suis qu'un amateur, je me suis mis au vb6 depuis plusieur années, mais je trouve tellement compliqué l'apprentissage et l'utilisation d'un nouveau langage (d'ailleur il suffit de voir que même en vb6 je ne suis pas encore au point) que je ne pense plus évoluer
encore merci
Commenter la réponse de cs_marco62118