VB.Net Écrire dans un fichier texte

Résolu
cs_JeffC1977 Messages postés 928 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 23 septembre 2023 - 27 août 2007 à 13:42
cs_JeffC1977 Messages postés 928 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 23 septembre 2023 - 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

10 réponses

cs_chris81 Messages postés 589 Date d'inscription jeudi 2 octobre 2003 Statut Membre Dernière intervention 29 avril 2008 2
27 août 2007 à 13:58
  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
3
Big200148 Messages postés 149 Date d'inscription mardi 30 septembre 2003 Statut Membre Dernière intervention 23 juillet 2009
27 août 2007 à 14:02
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
3
Big200148 Messages postés 149 Date d'inscription mardi 30 septembre 2003 Statut Membre Dernière intervention 23 juillet 2009
27 août 2007 à 14:16
Essaie le WriteLine qui écrit une ligne directement
3
cs_JeffC1977 Messages postés 928 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 23 septembre 2023 4
27 août 2007 à 14:06
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
0

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

Posez votre question
cs_JeffC1977 Messages postés 928 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 23 septembre 2023 4
27 août 2007 à 14:25
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
0
cs_chris81 Messages postés 589 Date d'inscription jeudi 2 octobre 2003 Statut Membre Dernière intervention 29 avril 2008 2
27 août 2007 à 14:30
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
0
Big200148 Messages postés 149 Date d'inscription mardi 30 septembre 2003 Statut Membre Dernière intervention 23 juillet 2009
27 août 2007 à 14:43
Ton code me parrais correcte pourtant
0
cs_JeffC1977 Messages postés 928 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 23 septembre 2023 4
27 août 2007 à 14:43
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
0
cs_JeffC1977 Messages postés 928 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 23 septembre 2023 4
27 août 2007 à 15:41
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
0
cs_JeffC1977 Messages postés 928 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 23 septembre 2023 4
27 août 2007 à 17:52
Ok ca marche pas sur mon émulateur mais ca marche tres bien sur mon iPaq

merci à tous
0
Rejoignez-nous