OVH Cloud OVH Cloud

Espace mais pas Carriage Return !

6 réponses
Avatar
Yves Boyer
Contrairement à la notation américaine, la notation française demande un
espace devant le ":", ou le "!" ou le "?".
Pour l'obtenir à coup sûr quand je suis en html, j'écris donc " :" ou
" !" ou " ?". Mais quoi faire si je suis dans un fichier texte ?
Ainsi le code VB ci-dessous m'affiche le ":" à la ligne suivant <Terminé>.
Ceci est parfaitement ridicule. Comment l'éviter ?
Dim ch$
Dim It%
ch = "Traitez d'abord les éléments à AJOUTER." & vbCrLf
ch = ch & "Quand tous les nouveaux éléments auront été "
ch = ch & "ajoutés, vous cliquerez sur <Terminé> : "
ch = ch & "Vous pourrez alors MODIFIER les "
ch = ch & "contenus des anciens et des nouveaux éléments."
It = ShowMsg(ch) ' ShowMsg() = ma version de MsgBox()

Yves Boyer
Allez voir mes applis en VB ou ma galerie de photos sur
http://www.yvesboyer.com

6 réponses

Avatar
Zoury
Salut Yves! :O)

Il semblerait que ce soit ta boite de message personnalisee qui causerait le
probleme. Es-tu sur quelle n'ajuste pas elle-meme le texte? Par manque de
place du a un label trop etroit par exemple..

--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/
"Yves Boyer" wrote in message
news:#
Contrairement à la notation américaine, la notation française demande un
espace devant le ":", ou le "!" ou le "?".
Pour l'obtenir à coup sûr quand je suis en html, j'écris donc "&nbsp;:" ou
"&nbsp;!" ou "&nbsp;?". Mais quoi faire si je suis dans un fichier texte ?
Ainsi le code VB ci-dessous m'affiche le ":" à la ligne suivant <Terminé>.
Ceci est parfaitement ridicule. Comment l'éviter ?
Dim ch$
Dim It%
ch = "Traitez d'abord les éléments à AJOUTER." & vbCrLf
ch = ch & "Quand tous les nouveaux éléments auront été "
ch = ch & "ajoutés, vous cliquerez sur <Terminé> : "
ch = ch & "Vous pourrez alors MODIFIER les "
ch = ch & "contenus des anciens et des nouveaux éléments."
It = ShowMsg(ch) ' ShowMsg() = ma version de MsgBox()

Yves Boyer
Allez voir mes applis en VB ou ma galerie de photos sur
http://www.yvesboyer.com




Avatar
Yves Boyer
<Il semblerait que ce soit ta boite de message personnalisee qui causerait
le
probleme.>

NON car ce phénomène arrive aussi avec la MsgBox sur d'autres textes.

Yves Boyer
Avatar
Zoury
Salut Yves! :O)

NON car ce phénomène arrive aussi avec la MsgBox sur d'autres textes.



Mais j'ai jamais dit que le formulaire du MsgBox ne causait pas ce
problème.. :O)

C'est dû au fait que le Label se trouvant dedans soit trop étroit pour le
texte qui y est affiché... la ligne est donc automatiquement tronqué sur
celle d'en dessous après un nombre x de caractères.. ici la ligne est coupé
tout juste avant le dernier mot de ta phrase en 1280 x 1024, et coupe tout
juste avant le mot "contenu" en 1024 x 768... Le formulaire du MsgBox()
semble prendre environ 66% de la largeur de l'écran.. c'est pourquoi le
texte ne coupe toujours au même endroit selon la résolution...

--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/

Merci de poster les réponses au groupe afin d'en faire profiter à tous
Avatar
Yves Boyer
<Mais j'ai jamais dit que le formulaire du MsgBox ne causait pas ce
problème.. :O)>

Malgré ton :O), je ne suis pas plus avancé car tu m'expliques pourquoi le
MsgBox coupe où il ne faut pas mais tu ne réponds pas à ma question <Comment
l'éviter ?>.
Comme quoi VB reste imparfait :-(

Yves Boyer
Allez voir mes applis en VB ou ma galerie de photos sur
http://www.yvesboyer.com
Avatar
Jean-Marc
"Yves Boyer" a écrit dans le message de
news:
<Mais j'ai jamais dit que le formulaire du MsgBox ne causait pas ce
problème.. :O)>

Malgré ton :O), je ne suis pas plus avancé car tu m'expliques pourquoi le
MsgBox coupe où il ne faut pas mais tu ne réponds pas à ma question


<Comment
l'éviter ?>.
Comme quoi VB reste imparfait :-(



Hello,

le pauvre VB n'y est pour rien :-)
Si tu veux réaliser la présentation "idéale", alors tu dois créer tes
propres boites de dialogue,
avec par exemple des labels dynamiques, etc. Puis tu te farcis les calculs
d'espacement et de taille du texte
en fonction des polices avec les API de windows (bon courage, c'est un
cauchemar à faire)..

Tu peux aussi utiliser des polices à empatement fixe (Courrier New par
exemple), ca rend déja les choses
beaucoup plus abordables, car un 'W' occupant la même place qu'un "I', tu as
vite fait de calculer les retours
à la ligne qui conviennent, en fonction des tailles de tes labels. Ceci dit,
il te reste à calculer les sauts de lignes
et autres joyeusetés, en fonction de tes conventions typo: que du bonheur!

Ca reste du bricolage, bien superflu (amha), mais il y a moyen.

Bonne prog,

Jean-Marc
Avatar
Yves Boyer
Salut Jean-Marc !

<Bonne prog,>

Tu aurais mieux fait de me souhaiter "Bon Noël" :-)

Yves Boyer