VB.net enregistrer retour à la ligne fichier texte

cs_question911 Messages postés 37 Date d'inscription mercredi 4 mai 2011 Statut Membre Dernière intervention 7 juin 2011 - 7 mai 2011 à 14:05
cs_question911 Messages postés 37 Date d'inscription mercredi 4 mai 2011 Statut Membre Dernière intervention 7 juin 2011 - 7 juin 2011 à 23:48
Bonjour,
J'ai une richbox et ce que je tape dans cette box s'enregistre dans un fichier texte, tout est parfait.
Le problème c'est que quand j'enregistre le texte de ma richbox il ne prend pas en compte les retours à la ligne.
Ma question est si je fais :
Ligne 1
Ligne 2...

Comment faire pour que dans mon fichier texte c'est bien comme je viens de l'écrire et non comme ceci: ligne1ligne2.
Merci.

60 réponses

NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
7 mai 2011 à 14:17
Bonjour,

"Ligne1" + environment.NewLine + "Ligne2"

0
cs_question911 Messages postés 37 Date d'inscription mercredi 4 mai 2011 Statut Membre Dernière intervention 7 juin 2011
7 mai 2011 à 17:06
humm...
Je ne vois pas trop où écrire environment.newline
parce que je tape directement dans ma richtextbox le texte à copier...
Exemple je tape testtesttest dans ma richtextbox et quand je clique sur le bouton "save" mon programme enregistre le contenu de la textbox vers mon fichier.txt
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
7 mai 2011 à 17:54
Bonjour,

Quel est ton code d'enregistrement et de restauration du texte ?

0
cs_question911 Messages postés 37 Date d'inscription mercredi 4 mai 2011 Statut Membre Dernière intervention 7 juin 2011
8 mai 2011 à 02:01
(Pour Ouvrir)
Function ouvrir() As Stream

        openFileDialog1.InitialDirectory = "c:"
        openFileDialog1.Filter = "gtf files (*.gtf)|*.txt"
        openFileDialog1.RestoreDirectory = True
        openFileDialog1.FilterIndex = 2

        If openFileDialog1.ShowDialog() = DialogResult.OK Then
            myStream = openFileDialog1.OpenFile()
            Dim lecture As New StreamReader(myStream)
            RichTextBox1.Text = lecture.ReadLine
            lecture.Close()



            If Not (myStream Is Nothing) Then
                myStream.Close()

            End If
        End If
        Return myStream
    End Function




(pour enregistrer)
Function enregistrer() As System.IO.StreamWriter

        If Form2.extension Is Nothing Then


            Dim fichier2 As New StreamWriter(openFileDialog1.FileName)
            fichier2.WriteLine(RichTextBox1.Text)
            fichier2.Close()
        Else
            Dim fichier As New StreamWriter(Form2.extension)
            fichier.WriteLine(RichTextBox1.Text)
            fichier.Close()
        End If

        Return Nothing
    End Function
0

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

Posez votre question
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
8 mai 2011 à 02:24
Bonjour,

Essayes avec IO.File.WriteAllText et IO.File.ReadAllText plutot.

0
cs_question911 Messages postés 37 Date d'inscription mercredi 4 mai 2011 Statut Membre Dernière intervention 7 juin 2011
8 mai 2011 à 02:59
hummm...
IO.file.writealltext et readalltext me donne une erreur...
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
8 mai 2011 à 12:09
Bonjour,

Quelle erreur ?
Tu es en quelle version du Framework ?

0
cs_question911 Messages postés 37 Date d'inscription mercredi 4 mai 2011 Statut Membre Dernière intervention 7 juin 2011
12 mai 2011 à 03:28
Bonjour,
Désolé du retard, l'erreur c'est que le type n'est pas défini.
Et j'ai le framework 4.0
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
12 mai 2011 à 09:14
Bonjour,

ça signifie qu'il tente de traduire ta chaine en nombre, cela est du à une tentative de changement de type implicite, donc proscrit par Option Strict, tu devrait l'activer (mettre à On) et corriger toutes ces erreurs.

0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
12 mai 2011 à 09:15
Bonjour,

Dsl pour le double post, mais je me suis trompé de sujet (pas réveillé ce matin).

Sur quelle ligne de code ?

0
cs_question911 Messages postés 37 Date d'inscription mercredi 4 mai 2011 Statut Membre Dernière intervention 7 juin 2011
12 mai 2011 à 10:47
héhé pas de problème...

Function enregistrer() As IO.File.WriteAllText

En particulier IO.File.WriteAllText...
Je ne suis pas sure si il va vraiment à cet endroit le IO.File.WriteAllText.
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
12 mai 2011 à 12:43
Bonjour,

Regardes l'aide et tu comprendra d'où vient ton problème.

0
cs_question911 Messages postés 37 Date d'inscription mercredi 4 mai 2011 Statut Membre Dernière intervention 7 juin 2011
12 mai 2011 à 15:21
l'erreur c'est sur cette ligne : Function enregistrer() As IO.File.WriteAllText
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
12 mai 2011 à 18:35
Bonjour,

Regardes l'aide de IO.File.WriteAllText, tu comprendra pourquoi ta ligne ne fonctionne pas.

0
cs_question911 Messages postés 37 Date d'inscription mercredi 4 mai 2011 Statut Membre Dernière intervention 7 juin 2011
13 mai 2011 à 05:53
J'ai regardé sur msdn et sa ne fonctionne pas plus.
0
cs_question911 Messages postés 37 Date d'inscription mercredi 4 mai 2011 Statut Membre Dernière intervention 7 juin 2011
13 mai 2011 à 09:06
j'ai réussi à faire fontionner IO.File.WriteAllText, mais il ne prend pas les retours à la ligne.
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
13 mai 2011 à 09:08
Bonjour,

As-tu bien saisi que IO.File.WriteAllText n'est pas un type, mais une fonction ?

Ensuite, en regardant la documentation, tu verra toutes les manières de l'appeler.

0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
13 mai 2011 à 09:20
Bonjour,

Bon, quelques minutes de retard, pas grave.

Si tu fais toujours pareil que ton troisième message, tu ne mets qu'une ligne, donc pas de retour à la ligne possible à l'intérieur du texte.
Donc, voir ton code à jour serait pas mal ;)

Ensuite, pourquoi "ouvrir()" et "enregistrer()" retournent un flux alors que soit celui-ci est toujours fermé ou à Nothing ? Tu peux peut être en faire des Sub.

Au vu de tes questions, je me demande quel est ton niveau en VB.NET ?
(cela me permettra d'adapter mieux mes réponses)

0
cs_question911 Messages postés 37 Date d'inscription mercredi 4 mai 2011 Statut Membre Dernière intervention 7 juin 2011
13 mai 2011 à 09:30
Bonjour,
humm, J'ai commencé le vb.net il y a une semaine donc...
0
Utilisateur anonyme
14 mai 2011 à 15:33
Bonjour à tous les 2,
Effectivement, après un rapide test, RichTextBox ne mentionne pas les NewLine dans sa propriété Text.
Cependant, pour faire figurer les retours de ligne dans ton fichier, tu peux utiliser la propriété Lines du contrôle et ensuite, au sein d'une boucle For Each, insérer (comme l'a indiqué NHenry) un Environment.NewLine à la fin de chaque ligne.
0
Rejoignez-nous