VB.Net Écrire dans un fichier texte [Résolu]

Messages postés
929
Date d'inscription
vendredi 10 novembre 2000
Dernière intervention
10 septembre 2010
- 27 août 2007 à 13:42 - Dernière réponse :
Messages postés
929
Date d'inscription
vendredi 10 novembre 2000
Dernière intervention
10 septembre 2010
- 27 août 2007 à 17:52
Salut...

Je veux écrire dans un fichier texte qui existe déjà. Dans ce fichier il peux y avoir un nombre X de ligne des texte.

Je veux donc aller écrire sur la dernière ligne du fichier, sur une nouvelle ligne.

Je ne suis pas tres habile avec le StreamWriter et il me manque quelque ligne de code pour finaliser l'écriture du fichier...

Voici ce que j'ai de fais  mais je ne sais plus quoi écrire comme code pour que ca fonctionne....
J'ai regardé quelques source sur le site mais je ne saisis pas tout... J'ai besoin de votre aide.

Merci d'avance

Private
Sub cdmSave_Click(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles cdmSave.Click

If txtPcode.Text <>
""
And txtCoordY.Text <>
""
And txtCoordX.Text <>
""
Then
Dim ObjetFichier
As StreamWriter =
New StreamWriter(AppPath &
"\Coord.txt")

Try
ObjetFichier.Write(Label7.Text)

Finally
If
Not ObjetFichier
Is
Nothing
Then ObjetFichier.Close()

End
Try
Else
MsgBox(
"Action Impossible")

End
If
End
Sub
Afficher la suite 

Votre réponse

10 réponses

Meilleure réponse
Messages postés
589
Date d'inscription
jeudi 2 octobre 2003
Dernière intervention
29 avril 2008
- 27 août 2007 à 13:58
3
Merci
  Dim ObjetFichier As IO.StreamWriter = New IO.StreamWriter(AppPath & "\Coord.txt", True)

true pour ecrire a la fin et false pour tout effacer et reecrire au debut.

Indigo : Créateur de Classe VB.Net http://www.infosoft81.com/InfoSoft/Indigo/Deploiement/publish.htm

Merci cs_chris81 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 cs_chris81
Meilleure réponse
Messages postés
150
Date d'inscription
mardi 30 septembre 2003
Dernière intervention
23 juillet 2009
- 27 août 2007 à 14:02
3
Merci
Quand tu declare ton streamwriter fait:
Dim ObjetFichier
As StreamWriter =
New StreamWriter(AppPath &
"\Coord.txt", True)

et cela ajoutera des lignes à la fin de ton fichier

Merci Big200148 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 Big200148
Meilleure réponse
Messages postés
150
Date d'inscription
mardi 30 septembre 2003
Dernière intervention
23 juillet 2009
- 27 août 2007 à 14:16
3
Merci
Essaie le WriteLine qui écrit une ligne directement

Merci Big200148 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 Big200148
Messages postés
929
Date d'inscription
vendredi 10 novembre 2000
Dernière intervention
10 septembre 2010
- 27 août 2007 à 14:06
0
Merci
Ok merci pour le "True"....

Mais il y a rien qui s'écrit dans mon fichier text...

Le chemin est bon car au démarage du programme je fais la lecture complète de fichier texte....  Lerreur peut venir de où ????
P.S. j'ai modifié quelque peu le code...

Merci de votre aide

Private
Sub cdmSave_Click(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles cdmSave.Click

Dim Enregistrement
As
String
If txtPcode.Text <>
""
And txtCoordY.Text <>
""
And txtCoordX.Text <>
""
Then
Dim ObjetFichier
As StreamWriter =
New StreamWriter(AppPath &
"\Coord.txt",
True)

Try
Enregistrement = txtPointSaisi.Text & Space(1) & txtCoordY.Text & Space(1) & txtCoordX.Text & Space(1) &
"0" & Space(1) & txtPcode.Text
ObjetFichier.Write(Enregistrement)

Finally
If
Not ObjetFichier
Is
Nothing
Then ObjetFichier.Close()

End
Try
Else
MsgBox(
"Action Impossible")

End
If
End
Sub
Commenter la réponse de cs_JeffC1977
Messages postés
929
Date d'inscription
vendredi 10 novembre 2000
Dernière intervention
10 septembre 2010
- 27 août 2007 à 14:25
0
Merci
J'ai essayé  ObjetFichier.Writeline(Enregistrement) Au lie de ObjetFichier.Write(Enregistrement)

Marche toujours pas.

On dirais qu'il n'ouvre pas le fichier pour enregistrer.. si je vais voir le ficher texte, la date de modification ne change pas ????

Comprends-tu pourquoi ?????

Merci de ton aide
Commenter la réponse de cs_JeffC1977
Messages postés
589
Date d'inscription
jeudi 2 octobre 2003
Dernière intervention
29 avril 2008
- 27 août 2007 à 14:30
0
Merci
debug pas a pas tu verra s'il ecrit qque chose ds le fichier

Indigo : Créateur de Classe VB.Net http://www.infosoft81.com/InfoSoft/Indigo/Deploiement/publish.htm
Commenter la réponse de cs_chris81
Messages postés
150
Date d'inscription
mardi 30 septembre 2003
Dernière intervention
23 juillet 2009
- 27 août 2007 à 14:43
0
Merci
Ton code me parrais correcte pourtant
Commenter la réponse de Big200148
Messages postés
929
Date d'inscription
vendredi 10 novembre 2000
Dernière intervention
10 septembre 2010
- 27 août 2007 à 14:43
0
Merci
Et bien étant donné que ca ne fonctionne pas....
Ça rentre toujours dans cette condition...
IfNot ObjetFichier IsNothingThen ObjetFichier.Close()

Donc j'ai un bug dans le code..... Mais où

Merci
Commenter la réponse de cs_JeffC1977
Messages postés
929
Date d'inscription
vendredi 10 novembre 2000
Dernière intervention
10 septembre 2010
- 27 août 2007 à 15:41
0
Merci
J'ai essayé ça également

Catch exc
As Exception
MessageBox.Show(exc.Message)

Finally

Mais ca rentre jamais dedans...

Pourquoi mon code fonctionne mais ca n'enregistre pas dans mon fichier texte... ???
Le prob peut-il venir de cette ligne de code...(déclaration de la variable AppPath)

Public AppPath
As
String = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly.GetName.CodeBase)

Ici, je suis dans le Bouton Save...
Dim

ObjetFichierW
As StreamWriter =
New StreamWriter(AppPath &
"\Coord.txt",
True)

Merci de votre aide
Commenter la réponse de cs_JeffC1977
Messages postés
929
Date d'inscription
vendredi 10 novembre 2000
Dernière intervention
10 septembre 2010
- 27 août 2007 à 17:52
0
Merci
Ok ca marche pas sur mon émulateur mais ca marche tres bien sur mon iPaq

merci à tous
Commenter la réponse de cs_JeffC1977

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.