StreamWriter RichTextBox Saut de ligne

Résolu
mrassaa Messages postés 143 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 12 juin 2013 - 2 août 2010 à 12:20
scromania Messages postés 452 Date d'inscription dimanche 20 août 2006 Statut Membre 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!!

12 réponses

scromania Messages postés 452 Date d'inscription dimanche 20 août 2006 Statut Membre Dernière intervention 11 janvier 2013 9
2 août 2010 à 13:45
RichTextBox1 dans un fichier txt consomme le caractère entrer .
si tu l'enregistre en rtf tout se passe bien
@+
3
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
2 août 2010 à 12:58
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.
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
2 août 2010 à 13:10
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
0
mrassaa Messages postés 143 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 12 juin 2013 1
2 août 2010 à 13:56
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!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mrassaa Messages postés 143 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 12 juin 2013 1
2 août 2010 à 14:06
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!!
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
2 août 2010 à 14:08
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.
0
mrassaa Messages postés 143 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 12 juin 2013 1
2 août 2010 à 14:11
J'ai déjà essayé sr.Write(...) mais ça medonne le même résultat. Je vais essayé ta deuxième ligne.

Forza Taraji!!
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
2 août 2010 à 14:14
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.
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
2 août 2010 à 14:16
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.
0
mrassaa Messages postés 143 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 12 juin 2013 1
2 août 2010 à 14:27
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!!
0
mrassaa Messages postés 143 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 12 juin 2013 1
2 août 2010 à 15:06
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!!
0
scromania Messages postés 452 Date d'inscription dimanche 20 août 2006 Statut Membre Dernière intervention 11 janvier 2013 9
2 août 2010 à 16:02
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")
0
Rejoignez-nous