bonjour,
Voila le probleme (tres succintement):
Je développe sur pocket PC en vb.NET (compact framework) J'ai 2 windows form pour l'instant:
La premiere étant un menu
La seconde est accessible en clickant sur un bouton du menu.
cette seconde form contient des champs textBox a remplir (qui correspondent à 1 enregistrement) et un bouton valider + 2 autres pour naviguer dans les enregistrements.
la validation entraine l'écriture des champs dans un fichier (appelons le fichier 'A') sur une seule ligne, séparés par des virgules).
Lorsque je modifie les champs et que je reValide, mon programme va modifier la bonne ligne dans le fichier (pour l'enregistrement 1 par exemple) en créant un fichier temporaire. explication :
-je parcours le fichier 'A' avec un StreamReader
-si ce n'est pas la ligne recherché je l'écris dans le fichier temp
-si c'est la bonne ligne je la remplace dans le fichier temp
- puis j'écris le reste du fichier 'A' dans le fichier temp
- je fais ensuite un File.Copy pour écraser le fichier avec le fichier temp puis j'éfface le fichier temp
PS: je peux faire autant de modif que je veux
c'est du séquentiel je n'ai rien trouvé pour l'accès direct.
Donc voila le probleme. Quand je lance le form depuis le menu. toute cette procédure marche. Mais lorsque je quitte le formulaire avec les textBox pour revenir au menu (avec un bouton dont l'évènement associé est Me.Close() uniquement)
et que je relance le formulaire (je fais un new Form2() et un form2.Show), j'obtiens une IOException lorsque je tente de modifier un enregistrement. Cette erreur apparaît lors du File.Copy, comme si le fichier 'A' était en LECTURE SEULE (haaaaaaaaaaa)...
je n'avance plus, si quelqu'un à une petite idée cela pourrait grandement m'aider.
je n'ai pas tout précisé, et notamment pour j'utilise cet algo pour modif un enregistrement.
merci bcp