Ajouter du text a la fin d'un fichier avec la fonction streamwriter? [Résolu]

Messages postés
98
Date d'inscription
lundi 17 novembre 2008
Dernière intervention
4 septembre 2012
- 19 janv. 2011 à 05:40 - Dernière réponse :
Messages postés
98
Date d'inscription
lundi 17 novembre 2008
Dernière intervention
4 septembre 2012
- 24 janv. 2011 à 00:38
Bonjour, j'éssais de faire que mon programme soi en mesure d'ajouter du texte à la fin d'un fichier .txt déjà existant mais avec la fonction Streamwriter, je peut seulement écraser le fichier déjà existant, pourriez-vous m'aider s.v.p. ? mon code est le suivant:

Dim filename As String
filename = "c:\log_" & DateValue(Now) & ".txt"

Try

Dim SW As StreamWriter
SW = New StreamWriter(filename)
SW.Write(log.Text)
SW.Close()
Catch ex As Exception

End Try

donc j'aimerais faire que au lieu d'écraser le fichier pour en créer un nouveau avec le contenu de mon textbox appelé log, il ne fasse qu'ajouter a la fin du fichier se que j'écrit dans ma textbox.
Aussi, avec cette fonction, même si je saute des lignes dans ma textbox (multiligne) le résultat dans le fichier txt est un texte tout sur la même ligne, j’aimerais aussi remédier a cela.

merci d'avance de l'aide que vous m'apporterez.
Afficher la suite 

Votre réponse

9 réponses

Meilleure réponse
Messages postés
14299
Date d'inscription
vendredi 14 mars 2003
Dernière intervention
16 novembre 2018
- 19 janv. 2011 à 12:33
3
Merci
Bonjour,

Regardes la fonction AppendAllText, je suppose que ça résoudra ton pb.

Mon site

Merci NHenry 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de NHenry
Meilleure réponse
Messages postés
14299
Date d'inscription
vendredi 14 mars 2003
Dernière intervention
16 novembre 2018
- 23 janv. 2011 à 15:33
3
Merci
Bonjour,

Evite VBNewLine, c'est plus lent et plus déprécié que VBCrLf (qui est la même chose), on préfère Environment.NewLine.

Mais j'aimerais voir le code, car il doit y avoir un pb, ça devrait fonctionner sans pb.

Mon site

Merci NHenry 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de NHenry
Meilleure réponse
Messages postés
14299
Date d'inscription
vendredi 14 mars 2003
Dernière intervention
16 novembre 2018
- 23 janv. 2011 à 17:20
3
Merci
Bonjour,

J'ai testé ce code :
IO.File.AppendAllText("test.txt", "Message1" + Environment.NewLine + Now.ToString("yyyy-MM-dd_HH-mm-ss") + Environment.NewLine + "Message2")

Résultat :
Message1
2011-01-23_17-19-08
Message2Message1
2011-01-23_17-19-19
Message2Message1
2011-01-23_17-19-31
Message2

Donc, c'est bon, ça passe bien, ton erreur se trouve ailleurs.

Mon site

Merci NHenry 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de NHenry
Messages postés
98
Date d'inscription
lundi 17 novembre 2008
Dernière intervention
4 septembre 2012
- 20 janv. 2011 à 03:27
0
Merci
cool, merci de ta réponse Nhenry, cette méthode résout disons 50% du problème, cela écrit a la fin du fichier comme voulu mais les saut de ligne ne sont toujours pas pris en compte, peut-être est-ce moi qui ne les introduit pas correctement mais dan mon textbox les saut de ligne sont affiché mais pas dans le fichier .txt.

Quelqu’un pourrais m'aider svp?
Commenter la réponse de jx53
Messages postés
14299
Date d'inscription
vendredi 14 mars 2003
Dernière intervention
16 novembre 2018
- 22 janv. 2011 à 01:00
0
Merci
Bonjour,

Peux-tu montrer comment tu ajoutes les retours à la ligne ?

Mon site
Commenter la réponse de NHenry
Messages postés
98
Date d'inscription
lundi 17 novembre 2008
Dernière intervention
4 septembre 2012
- 23 janv. 2011 à 05:28
0
Merci
j'écrit simplement: "vbNewLine" sans les guillemets ^^
Commenter la réponse de jx53
Messages postés
98
Date d'inscription
lundi 17 novembre 2008
Dernière intervention
4 septembre 2012
- 23 janv. 2011 à 16:47
0
Merci
et bien ces pas compliqué, j'ai du code qui ajoute du texte dans un textbox appelé log selon les touche que l'on appui et un timmer qui enregistre le contenu de se textbox dans un fichier txt grâce au code suivant :


Dim filename As String
filename = "c:\log_" & DateValue(Now) & ".txt"

Try

File.WriteAllText(filename, log.Text)


Catch ex As Exception

End Try

et donc voila j'ai utilisé Environment.NewLine pour introduire mes saut de ligne et ça ne fonctionne toujours pas.
Commenter la réponse de jx53
Messages postés
98
Date d'inscription
lundi 17 novembre 2008
Dernière intervention
4 septembre 2012
- 24 janv. 2011 à 00:25
0
Merci
bon, en effet se code fonctionne cher moi aussi, donc je ne voie qu'une seule explication, cela fonctionne car on lui dit direct quoi écrire au lieu d'écrire dans un textbox pour ensuite enregistrer le contenu du textbox. merci de l'aide je vais éssailler d'enregistrer les touche direct au lieu de passer par un textbox, je vous en redonne des nouvelles.
Commenter la réponse de jx53
Messages postés
98
Date d'inscription
lundi 17 novembre 2008
Dernière intervention
4 septembre 2012
- 24 janv. 2011 à 00:38
0
Merci
encore une fois, merci beaucoup NHenry! le fait de ne plus passer par un textbox a réglé le probleme! maintenant au lieu que les touche soi capté et écrite dan le textbox pour ensuite q'un timmer enregistre le contenu du textbox toute les 5 seconde, les touche sont stocké dans une variable string qui elle s'enregistre dans mon fichier txt chaque fois qu'elle est modifié donc chaque fois qu'une touche est appuyé ^^.

Donc voila merci de ta patience :)
Commenter la réponse de jx53

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.