StreamWriter RichTextBox Saut de ligne [Résolu]

Messages postés
143
Date d'inscription
lundi 15 mars 2010
Dernière intervention
12 juin 2013
- - Dernière réponse : scromania
Messages postés
453
Date d'inscription
dimanche 20 août 2006
Dernière intervention
11 janvier 2013
- 2 août 2010 à 16:02
J'ai un petit problème :
J'envoi des mail grâce à une messagerie locale que j'ai créé. J'ai deux textbox et un richtextbox.
Voici le code :
Dim sr As StreamWriter
        sr = New StreamWriter("C:\Users\administrateur\Desktop\Moha Baba\Test\Interface esyndic\Réclamations de " & txt_De.Text & ".txt", True)
        sr.WriteLine("Nouvelle réclamation :" & Date.Now & vbCrLf)
        sr.WriteLine("De :" & txt_De.Text & vbCrLf)
        sr.WriteLine("Sujet :" & txt_Sujet.Text & vbCrLf)
        sr.Write(RichTextBox1.Text & vbCrLf)
        sr.WriteLine(vbCrLf)
        sr.Close()


Le problème c'est lorsque j'ouvre mon fichier .txt, il n'y a pas de saut de lignes dans le contenu du richtextbox (je sais bien que vbCrLf est fait pour qu'après le richtextbox il ait un saut de ligne et non pas à l'intérieur, d'oùmon problème).
Merci d'avance pour votre aide.
Forza Taraji!!

Forza Taraji!!
Afficher la suite 

Votre réponse

12 réponses

Meilleure réponse
Messages postés
453
Date d'inscription
dimanche 20 août 2006
Dernière intervention
11 janvier 2013
3
Merci
RichTextBox1 dans un fichier txt consomme le caractère entrer .
si tu l'enregistre en rtf tout se passe bien
@+

Dire « Merci » 3

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

Codes Sources a aidé 106 internautes ce mois-ci

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

Et quand tu ouvre ton fichier avec le bloc note ? T'as les saut de ligne ?

Cela provient peut être de la façon dont tu lis le fichier et non de ta façon de l'enregistrer ?


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
7745
Date d'inscription
mercredi 1 septembre 2004
Dernière intervention
24 septembre 2014
0
Merci
Attention WriteLine rajoute automatiquement un saut de ligne à la fin du texte écrit. Le fait de mettre un vbCRLF (à remplacer par environment.newline en .Net) en plus va écrire en réalité 2 saut de lignes. Tu vas donc te retrouver avec une ligne blanche après chaque ligne écrite


[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
Commenter la réponse de cs_casy
Messages postés
143
Date d'inscription
lundi 15 mars 2010
Dernière intervention
12 juin 2013
0
Merci
Désolé pour le retard (pour ma réponse).
@Mayzz : Bin je le avec en tant que fichier txt avec la ligne de code suivante
Process.Start("C:\Users\administrateur\Desktop\Moha Baba\Test\Interface esyndic\Message du Syndic à " & txt_A.Text & " le " & DGVRC.CurrentRow.Cells(3).Value & ".txt")

Et là je le trouve sans saut de ligne pour le contenu du RichTextBox. Merci

@casy : En fait je l'ai remarqué et j'ai apprécié parce que ça me donne plus de clareté. Merci

@scromania :comment j'enregistre en rft? Tu as un exemple raoide à me donner? Merci
P.S : j'ai intérêt à répondre plus rapidement, sinon à chaque message je devrai mettre plein de merci.

Forza Taraji!!
Commenter la réponse de mrassaa
Messages postés
143
Date d'inscription
lundi 15 mars 2010
Dernière intervention
12 juin 2013
0
Merci
Bin j'ai trouvé (Dim rtf as String = RichTextBox1.Rtf et sr.Write(rtf)) mais ça me pose d'autres problèmes car il y a les balises qui sont écrites aussi. En fait, j'aurais du créer des fichiers .doc pour que ça marche. Donc je cherche toujours une solution pour les fichiers .txt (sinon je vais devoir revoir plein de choses,ouin!!
Forza Taraji!!
Commenter la réponse de mrassaa
Messages postés
2859
Date d'inscription
mardi 15 avril 2003
Dernière intervention
26 novembre 2013
0
Merci
Ah oui, en effet :

sr.Write(RichTextBox1.Text & vbCrLf)


Tu enregistre le contenu de tout le RTB en une ligne, pas étonnant.

RichTextBox1.SaveFile("chemin de ton fichier.rtf")


Te permet d'enregistrer le fichier au format RTF, seulement, tu n'auras que le contenu du RTB et non le reste des infos (sujet, 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
143
Date d'inscription
lundi 15 mars 2010
Dernière intervention
12 juin 2013
0
Merci
J'ai déjà essayé sr.Write(...) mais ça medonne le même résultat. Je vais essayé ta deuxième ligne.

Forza Taraji!!
Commenter la réponse de mrassaa
Messages postés
2859
Date d'inscription
mardi 15 avril 2003
Dernière intervention
26 novembre 2013
0
Merci
Essaye de cette façon

         Dim Msg As String = "Nouvelle réclamation :" & Date.Now & _
         Environment.NewLine & Environment.NewLine & _
         "De :" & txt_De.Text & _
         Environment.NewLine & Environment.NewLine & _
         "Sujet :" & txt_Sujet.Text & _
         Environment.NewLine & Environment.NewLine & _
         RichTextBox1.Text

         Dim sr As New StreamWriter("C:\Users\administrateur\Desktop\Moha Baba\Test\Interface esyndic\Réclamations de " & txt_De.Text & ".txt", True)
         sr.Write(Msg)       
         sr.Close()


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
2859
Date d'inscription
mardi 15 avril 2003
Dernière intervention
26 novembre 2013
0
Merci
sr.Write(RichTextBox1.Text & vbCrLf)


J'avais même pas fait attention, c'est Write et non WriteLine que tu as utilisé ^^



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
143
Date d'inscription
lundi 15 mars 2010
Dernière intervention
12 juin 2013
0
Merci
Désolé mais ça ne marche toujours pas (toujours en une seule ligne). Il faudra donc que je change les .txt en des .rtf
Merci quand même.

Forza Taraji!!
Commenter la réponse de mrassaa
Messages postés
143
Date d'inscription
lundi 15 mars 2010
Dernière intervention
12 juin 2013
0
Merci
Finalement, ça a marché avec ce code-ci :
Dim sr As StreamWriter
        sr = New StreamWriter("C:\Users\administrateur\Desktop\Moha Baba\Test\Interface esyndic\Réclamations de " & txt_De.Text & ".rtf", True)
        sr.WriteLine("Nouvelle réclamation :" & Date.Now & vbCrLf)
        sr.WriteLine("De :" & txt_De.Text & vbCrLf)
        sr.WriteLine("Sujet :" & txt_Sujet.Text & vbCrLf)
        sr.Write(RichTextBox1.Text)
        sr.WriteLine(vbCrLf)
        sr.Close()

En tout cas, merci pour votre aide les gars.

Forza Taraji!!
Commenter la réponse de mrassaa
Messages postés
453
Date d'inscription
dimanche 20 août 2006
Dernière intervention
11 janvier 2013
0
Merci
en faite je ferais de la manière suivante:

 RichTextBox1.Text = "Nouvelle réclamation :" & Date.Now & vbCr & "De :" & txt_De.Text & vbCr & "Sujet :" & txt_Sujet.Text & vbCr & RichTextBox1.Text
        RichTextBox1.SaveFile("C:\temp\Réclamations de" & txt_De.Text & ".rtf")
Commenter la réponse de scromania

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.