Effacer un fichier du HD avec VB.NET [Résolu]

felsfr 25 Messages postés mardi 1 mars 2005Date d'inscription 13 décembre 2005 Dernière intervention - 10 avril 2005 à 18:47 - Dernière réponse : felsfr 25 Messages postés mardi 1 mars 2005Date d'inscription 13 décembre 2005 Dernière intervention
- 12 avril 2005 à 01:21
Bonjour,
Débutant en VB.NET, j'ai un petit problème avec la gestion des fichiers.

Ayant chargé une image 'image.jpg' dans une picturebox, je souhaiterais l'effacer du disque dur. Après avoir vidé la picturebox par
'image1.image= nothing',
je tente de l'effacer du hd par la méthode fileinfo de la sorte :
Dim Fi as Fileinfo
Fi =New Fileinfo(fichier) ' fichier étant correctement formaté
Fi.Delete()

Et j'obtient le message suivant
"Le processus ne peut accéder au fichier "image.jpg", car il est en cours d'utilisation par un autre processus"

Cela fonctionne correctement si l'image n'a pas été chargée dans la picturebox, mais message d'erreur dans le cas contraire. Comment "Décharger" le fichier image.jpg afin qu'il ne soit plus utilisé par un processus quelconque afin de pouvoir l'effacer ?

Merci pour votre aide
Afficher la suite 

3 réponses

Meilleure réponse
felsfr 25 Messages postés mardi 1 mars 2005Date d'inscription 13 décembre 2005 Dernière intervention - 12 avril 2005 à 01:21
3
Merci
J'ai trouvé la solution après recherche sur des forums dans la langue de Shakespear. Je poste donc l'info pour en faire profiter ceux qui pourraient en avoir l'utilité :

'affichage de l'image dans la picturebox
''on charge l'image par un fromstream et on libere ensuite le filestream car sinon
'impossible d'effacer le fichier par la suite comme avec la méthode
'Image1.Image = System.Drawing.Image.FromFile(nom_du_fichier_image) qui elle
'verrouille le fichier chargé dans la picture box.

Dim mon_image As Image
Dim fs As New System.IO.FileStream(nom_du_fichier_image, IO.FileMode.Open)
mon_image = Image.FromStream(fs)
Image1.Image = mon_image 'on affiche l'image
fs.Close() 'on libere le stream

- - - -

Dim Fi As FileInfo
Fi = New FileInfo (nom_du_fichier_image)
Fi.Delete()
'on efface le fichier

Merci felsfr 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 96 internautes ce mois-ci

cs_CanisLupus 3758 Messages postés mardi 23 septembre 2003Date d'inscription 13 mars 2006 Dernière intervention - 10 avril 2005 à 19:17
0
Merci
Et avec image1.image= 0 ça ne marche pas non plus ?

Loup Gris
felsfr 25 Messages postés mardi 1 mars 2005Date d'inscription 13 décembre 2005 Dernière intervention - 10 avril 2005 à 19:56
0
Merci
Merci pour ta réponse,
mais le problème n'est par d'effacer la picturebox, 'image1.image= nothing' fonctionne très bien pour cela, mais impossible d'effacer le fichier du disque, il est toujours en utilisation par un processus.

Une autre idée ?

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.