VB.Net Créer un Fichier texte sans SavefileDialog

Résolu
cs_JeffC1977 Messages postés 926 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 10 septembre 2010 - 24 oct. 2007 à 15:58
cs_JeffC1977 Messages postés 926 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 10 septembre 2010 - 24 oct. 2007 à 19:06
Salut à tous..

J'ai une petite question à propos de créer un fichier texte sans utiliser la SaveFileDialog.

Qu'est ce qui me manque pour que mon code fonctionne pour créer le fichier Tempo.txt

SaveFile = 

 
"\SD Card\Calcul\Tempo.txt"
Dim Sr
As
New StreamWriter(SaveFile,
False)

Sr.Flush()
Sr.Close()

J'utilise ce code pour effacer une ligne de texte dans un fichier - Tableau et ca génère un erreur.... Je ne peux  tester cette partie de code dans le Debug

Private

Sub cmdEffacer_Click(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles cmdEffacer.Click

Dim ObjetFichier
As StreamReader =
New StreamReader(FichierSave)

Dim ObjetFichierW
As StreamWriter =
New StreamWriter(AppPathTempo &
"\Tempo.txt",
False)

Do
While ObjetFichier.Peek <> -1
   FichierTexte = ObjetFichier.ReadLine() 

   If txtEfface.Text <> FichierTexte.Split(Separateur)(0)
Then
      ObjetFichierW.WriteLine(FichierTexte)
      ObjetFichierW.Flush()

   End
If
Loop

ObjetFichierW.Close()
ObjetFichier.Close()
IO.File.Delete(FichierSave)
SaveFile =
"\SD Card\Calcul\Tempo.txt"
Dim Sr
As
New StreamWriter(SaveFile,
False)

Sr.Flush()
Sr.Close()
IO.File.Copy(AppPathTempo &
"\Tempo.txt",
False, FichierSave)
IO.File.Delete(AppPathTempo &
"\Tempo.txt")

End
Sub

7 réponses

Baguauda Messages postés 219 Date d'inscription mercredi 31 août 2005 Statut Membre Dernière intervention 28 novembre 2008 1
24 oct. 2007 à 18:07
En fait le lien te fournie la signature de la méthode

tu passe ceci
"\Tempo.txt"
, False, FichierSave)


soit copy(string,boolean,string)
or les signatures possibles sont
File.Copy (String, String)
File.Copy (String, String, Boolean)

je pense qu'en changeant ta ligne de code avec celle ci cela devrais passer
<gras>"\Tempo.txt"
,
<gras>

<gras>False)
3
Baguauda Messages postés 219 Date d'inscription mercredi 31 août 2005 Statut Membre Dernière intervention 28 novembre 2008 1
24 oct. 2007 à 16:44
Je ne comprend pas bien ce que souhaite faire  avec ce code ?

SaveFile =
"\SD Card\Calcul\Tempo.txt"
Dim Sr
AsNew StreamWriter(SaveFile,
False)

Sr.Flush()
Sr.Close()

Si c'est pour créer un fichier vierge pourquoi ne pas utilisé :
System.IO.File.Create()

IO.File.Delete(FichierSave)


IO.File.Copy(AppPathTempo &
"\Tempo.txt",
False, FichierSave)
IO.File.Delete(AppPathTempo &
"\Tempo.txt")

IO.file.Create(
AppPathTempo &
"\Tempo.txt")

End
Sub
0
cs_JeffC1977 Messages postés 926 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 10 septembre 2010 4
24 oct. 2007 à 17:38
oui c'est vrai je n'y avais même pas pensé.... OUPS....

Sauf que ca me génère un erreur:
Conversion from string "\Program Files\DataGrid\Coord.txt" to type Boolean is not valid
???????

Dim ObjetFichier As StreamReader = New StreamReader(FichierSave)
Dim ObjetFichierW As StreamWriter = New StreamWriter(AppPathTempo & "\Tempo.txt", False)
DoWhile ObjetFichier.Peek <> -1
   FichierTexte = ObjetFichier.ReadLine() 

   If txtEfface.Text <> FichierTexte.Split(Separateur)(0)
Then
      ObjetFichierW.WriteLine(FichierTexte)
      ObjetFichierW.Flush()
   End
If
Loop

ObjetFichierW.Close()
ObjetFichier.Close()
IO.File.Delete(FichierSave)
IO.File.Create(AppPathTempo &
"\Tempo.txt")

IO.File.Copy(AppPathTempo & "\Tempo.txt", False, FichierSave)
IO.File.Delete(AppPathTempo & "\Tempo.txt")
EndSub
0
Baguauda Messages postés 219 Date d'inscription mercredi 31 août 2005 Statut Membre Dernière intervention 28 novembre 2008 1
24 oct. 2007 à 17:42
0

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

Posez votre question
cs_JeffC1977 Messages postés 926 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 10 septembre 2010 4
24 oct. 2007 à 17:57
Ca dit quoi ce lien je ne comprend rien...

Je ne vois pas comment corriger l'erreur...

Ca dit que File. Copy peut-être soit String, String (Il n'est pas permis de substituer un fichier du même nom)
Ou String, String , Boolean (Il est permis de substituer un fichier du même nom.)

Merci encore
0
cs_JeffC1977 Messages postés 926 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 10 septembre 2010 4
24 oct. 2007 à 18:44
ok cool ca "fonctionne"...

Sauf que j'ai un autre erreur... Ca dit que c'est impossible car MonFichier.txt is being used by another process

Existe-t-il une facon de corriger ce prob ???

J'utilise une ligne de code pour supprimer le fichier et ca fonctionne pas.....

IO.File.Delete(FichierSave)
IO.File.Create(AppPathTempo &

"\Tempo.txt")
IO.File.Create(FichierSave)
IO.File.Copy(AppPathTempo &
"\Tempo.txt", FichierSave,
False)
IO.File.Delete(AppPathTempo &
"\Tempo.txt")
0
cs_JeffC1977 Messages postés 926 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 10 septembre 2010 4
24 oct. 2007 à 19:06
Encore moi...
Ce que je ne saisi pas du code c'est la ligne de code Gras et Souligné... Fait que ca l'écrit dans le fichier ...Tempo. txt mais le fichier n'existe pas...  Normal... que ca bug plus bas ?

Private
Sub cmdEffacer_Click(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles cmdEffacer.Click

Dim ObjetFichier
As StreamReader =
New StreamReader(FichierSave)

Dim ObjetFichierW
As StreamWriter =
New StreamWriter(AppPathTempo &
"\Tempo.txt",
False</gras> )
Do
While ObjetFichier.Peek <> -1
FichierTexte = ObjetFichier.ReadLine()
If txtEfface.Text <> FichierTexte.Split(Separateur)(0)
Then
ObjetFichierW.WriteLine(FichierTexte)
ObjetFichierW.Flush()

End
If
Loop
ObjetFichierW.Close()
ObjetFichier.Close()
IO.File.Delete(FichierSave)
IO.File.Create(AppPathTempo &
"\Tempo.txt")
IO.File.Create(FichierSave)

"\Tempo.txt", FichierSave,
False
)
IO.File.Delete(AppPathTempo & "\Tempo.txt")

End
Sub
0
Rejoignez-nous