VB.Net Copie d'un fichier et le Lire

cs_JeffC1977 Messages postés 928 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 23 septembre 2023 - 6 nov. 2007 à 13:05
 Utilisateur anonyme - 6 nov. 2007 à 18:49
Salut à tous....
J'ai fais un Post sur le forum sur ce sujet mais ca devait être un peu trop abstrait...

J'ai un code pour faire une copie d'un fichier...
J'ai un fichier texte Original que je suis capable de lire sans problème, avec un OpenFileDialog.
Je fais une modification de ce fichier et je le copie dana sun fichier porant le même nom que l'original. Bref j'écrase le fichier texte oiriginal et je le remplace par le fichier modifier. Le code fonctionne bien car je vais par l'exploreur voir le fichier modifier et tout est OK. Le fichier texte est transformé.

Le problème est que je suis incapable de lire le nouveau fichier créé.
J'aimerais savoir pourquoi mon fichier modifié Is Nothing ???

Je vous annexe une procédure et deux fonctions.
J'ai mis en gras et souligné la partie ou ca rentre dans la condition ou mon fichier Is Nothing.

Je ne trouve vraiment pas la solution..

Merci de votre aide

<hr />

Function Remplacement_Fichier()

Try
IO.File.Delete(FichierSave)
'Suppression du fichier
IO.File.Copy(AppPathTempo &
"\Tempo.txt", FichierSave,
False)
'Copie du temporaire sur le fichier de
sauvegarde
IO.File.Delete(AppPathTempo &
"\Tempo.txt")
'Suppression du fichier de sauvegarde
Catch ex
As IOException
   MsgBox(
"Erreur dans le remplacement du fichier de sauvegarde:" & ex.Message)

End
Try
End
Function
<hr />

Function OuvrirFichier()

Dim OpenFileDialog1
As
New OpenFileDialog()
OpenFileDialog1.InitialDirectory =
"\SD Card\Calcul"
OpenFileDialog1.Filter =
"All files (*.*)|*.*|txt files (*.txt)|*.txt"
OpenFileDialog1.FilterIndex = 2

If OpenFileDialog1.ShowDialog() = DialogResult.OK
Then
   Array.Clear(TableauLigne, 0, CompteurLigne) 'Vider Tableau et remet le Compteur à 0 pour recréer un nouveau tableau
   Array.Clear(Tableau, 0, Compteur)
   CompteurLigne = 0
   Compteur = 0

   TraitementFichier(OpenFileDialog1.FileName) 'Création du Tableau et Lecture du fichier texte

End
If
End
Function
<hr />Private

Sub TraitementFichier(
ByVal NomDuFichier
As
String)

Dim ObjetFichier
As StreamReader =
New StreamReader(NomDuFichier)

Dim Message
As
StringFichierSave = NomDuFichier

Try
Do
   FichierTexte = ObjetFichier.ReadLine()

   If Compteur = 0
And FichierTexte
Is
Nothing
Then
      <gras>MsgBox("Problème"<gras>)
      GoTo Fin

   ElseIf FichierTexte =
""
Then

   Else
      If Compteur = 0
Then
         ReDim Tableau(Compteur)

      Else
         ReDim
Preserve Tableau(Compteur)

      End
If
      Compteur = Compteur + 1

   End
If
Loop
Until FichierTexte
Is
Nothing

ObjetFichier.Close()
Compteur = Compteur - 1

SaveFile = OpenFileDialog1.FileName

Catch exc
As Exception
MsgBox(
"Fichier inexistant")

End
Try
Fin:

End
Sub

6 réponses

Utilisateur anonyme
6 nov. 2007 à 13:27
Salut,

Il est vrai que juste comme ca, on peut pas trop trouver le problème.
As-tu fait un débuggage pas-à-pas ?

NomDuFichier correspond-t'il au bon fichier ?
Que vaut
ObjetFichier après son ouverture ?
...

Une étude très détailler permettra de trouver ta réponse.







__________
Kenji

(


Nouveau forum VBA/Office
0
cs_JeffC1977 Messages postés 928 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 23 septembre 2023 4
6 nov. 2007 à 13:47
Pour le moment je ne peux pas utiliser le Debug car c'est pour mon PDA. Étant donné que j'utilise le OpenFileDialog, ca fonctionne sur mon PDA mais l'émulateur PDA m'offre pas, à ma connaissance, la possibilité d'ouvrir un fichier sélectionnable....

Bref....

Mais, dans le code, tu ne vois pas un ereur que j'aurais pu faire... Par exemple ma variable FichierTexte
= Nothing...

Mais Tout est OK si j'ouvre un fichier non modifié...
Il n'existe pas une facon de, je ne sais pas, de réinitialisé la variable....  enfin quelque chose de ce style ????

Merci de ton aide...

P.S. j'ai envoyé un message sur le forum pour PDA pour l'émulateur.
0
Utilisateur anonyme
6 nov. 2007 à 14:06
Si tu ne peux pas débugger avec le débugger, débug avec des simple msgbox.
Dans ta fonction ajoute un messagebox(
NomDuFichier), puis un autre sur ObjetFichier ...
De toute façon, la je peux rein faire de plus.






__________
Kenji

(


Nouveau forum VBA/Office
0
cs_JeffC1977 Messages postés 928 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 23 septembre 2023 4
6 nov. 2007 à 14:36
Re...

Alors J'ai fais cela....
FichierTexte : J'ai dans mon textebox la premiere ligne de mon fichier texte
ObjetFichier: J'ai pas de msgbox qui apparait.


Merci de ton aide....

...........
Try
Do
FichierTexte = ObjetFichier.ReadLine()
MsgBox(
FichierTexte)
MsgBox(ObjetFichier)

If Compteur = 0
And FichierTexte
Is
Nothing
Then
'If FichierTexte Is Nothing Then
MsgBox(
"Fichier Vierge")

GoTo Fin

ElseIf FichierTexte =
""
Then
............
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
6 nov. 2007 à 15:14
OK j'ai trouvé...

Le bug ne provennait pas de là....

Merci de ton aide... Grâce à toi, quelqu'un a réussis à m'expliquer comment faire pour utilié le Debug avec l'émulateur...

héhéhé

bye  
0
Utilisateur anonyme
6 nov. 2007 à 18:49
Oui, c'est l'autre méthode qui peut tout aussi bien marcher.
J'avais oublier de préciser que tu pouvais temporairement supprimer le try ... catch pour qu'il t'affiche bien les éventuels erreurs qu'il rencontre.

__________
Kenji
(
Nouveau forum VBA/Office
0
Rejoignez-nous