Etienne BAUDOUX

Forum sur les projets de Etienne BAUDOUX


Supprimer une image [RÉSOLU]

Partagez

marcouf
Nouveau
Nouveau

Masculin Nombre de messages : 82
Date d'inscription : 22/03/2012

Supprimer une image [RÉSOLU]

Message par marcouf le Mer 2 Mai 2012 - 22:39

Bonsoir,

Comment supprimer une image ?
Lorsque je veux supprimer une image avec la fonction "Supprimer un fichier" ça me dit :

"Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme
Fermer le fichier et réessayer
" scratch

Merci de votre aide@+Marc Smile

Petite précision : Je travail sous SZ2012 et je n'ai pas la fonction "Fermer un fichier" !


Dernière édition par marcouf le Mer 9 Mai 2012 - 2:11, édité 2 fois (Raison : résolu)
avatar
lereparateurdepc


Masculin Nombre de messages : 5491
Age : 24
Localisation : Calvados
Emploi/loisirs : Electrotechnicien / électricité, HAUTE TENSION, électronique, informatique, automatisme , Arduino, bref le BRICOLAGE , ...
Humeur : toujours cool
Date d'inscription : 31/01/2010

Re: Supprimer une image [RÉSOLU]

Message par lereparateurdepc le Jeu 3 Mai 2012 - 15:34

re ,

La fonction fermer un fichier NE DOIT-ÊTRE utilisér qu'après avoir utilisé l'action ouvrir un fichier .

Et bien , le fichier que tu essaye de supprimer que ce soir une musique , un exe , une image , ....
SI il est ouvert , tu ne pourra PAS le supprimer !

Cordialement ,
Le réparateur de PC



Modérateur & Administrateur du forum
Merci de contacter les membres par MP ou mail que pour "urgences". Le forum est fait pour ça. Merci

@ Contact : franleboss@gmail.com  Smile
Arrow  Visitez mon site : désolé l'hébergeur à fermé Sad

Ma chaine tutube : https://www.youtube.com/channel/UC7iU59NNAHz-tW5wqcgONHA



marcouf
Nouveau
Nouveau

Masculin Nombre de messages : 82
Date d'inscription : 22/03/2012

Re: Supprimer une image [RÉSOLU]

Message par marcouf le Jeu 3 Mai 2012 - 17:51

re et Merci,

Mais où se trouve l'action "fermer un fichier" ??
Comme je l'ai dis dans "petite précision".
avatar
lereparateurdepc


Masculin Nombre de messages : 5491
Age : 24
Localisation : Calvados
Emploi/loisirs : Electrotechnicien / électricité, HAUTE TENSION, électronique, informatique, automatisme , Arduino, bref le BRICOLAGE , ...
Humeur : toujours cool
Date d'inscription : 31/01/2010

Re: Supprimer une image [RÉSOLU]

Message par lereparateurdepc le Jeu 3 Mai 2012 - 18:24

re ,

Normalement dans la catégorie Fichier .

Cordialement ,
Le réparateur de PC



Modérateur & Administrateur du forum
Merci de contacter les membres par MP ou mail que pour "urgences". Le forum est fait pour ça. Merci

@ Contact : franleboss@gmail.com  Smile
Arrow  Visitez mon site : désolé l'hébergeur à fermé Sad

Ma chaine tutube : https://www.youtube.com/channel/UC7iU59NNAHz-tW5wqcgONHA



marcouf
Nouveau
Nouveau

Masculin Nombre de messages : 82
Date d'inscription : 22/03/2012

Re: Supprimer une image [RÉSOLU]

Message par marcouf le Jeu 3 Mai 2012 - 19:56

re,

Je n'ai pas, désolé !
avatar
Admin
Administrateur
Administrateur

Masculin Nombre de messages : 1875
Age : 25
Localisation : Boulogne Billancourt(92100)(France)
Emploi/loisirs : Etudiant à SUPINFO International University, stagiaire à Microsoft Corporation
Date d'inscription : 24/01/2008

Re: Supprimer une image [RÉSOLU]

Message par Admin le Ven 4 Mai 2012 - 4:37

Bonjour,

Cette action n'existe plus sous SZ 2012 car toutes les actions utilisant les fichiers libèrent ceux-ci à chaque fois. Si vous rencontrez ce message, c'est que votre fichier doit être utilisé par un autre programme que le votre (l'Explorateur Windows par exemple, ou autre)



Les 4 règles d'or du forum : Bonjour, Merci, Pas de SMS, Et un petit "[RESOLU]" dans le titre du sujet quand le problème est réglé. Wink

Etienne

Site internet : http://www.velersoftware.com
Twitter : http://twitter.com/VelerSoftware

marcouf
Nouveau
Nouveau

Masculin Nombre de messages : 82
Date d'inscription : 22/03/2012

Re: Supprimer une image [RÉSOLU]

Message par marcouf le Ven 4 Mai 2012 - 9:12

Bonjour,

Ah bon Crying or Very sad ?

Je dois faire un truc de travers...

voici mes actions (en résumé) :

-"Charger une image à partir d'un fichier" -> variable Image
-"Modifier une propriété d'un contrôle" ->Me.pictureBox1...

-"Supprimer un fichier"->%(APPLICATION=APPLICATION_PATH)%\%(VARIABLE=Image)%.jpg

et erreur Sad edit : en fait ça fonctionne bien comme ça mais mon application est + compliquée et ça doit foirer, je ne sais où scratch
j'essayerai de détailler plus tard, Merci.

Avec un code VB comme celui là : Image.Dispose(), j'arrive à supprimer l'image, mais il y a toujours des erreurs !

@+Marc


Dernière édition par marcouf le Ven 4 Mai 2012 - 9:21, édité 1 fois (Raison : edit)
avatar
MaXaM Software
Nouveau
Nouveau

Masculin Nombre de messages : 46
Age : 19
Localisation : France - Midi-Pyrénées
Date d'inscription : 13/02/2012

Re: Supprimer une image [RÉSOLU]

Message par MaXaM Software le Ven 4 Mai 2012 - 10:25

Bonjour,
Il ne faut pas qu'une PictureBox utilise l'image sinon ça bug Wink

Cordialement
Maxam Software


Dernière édition par MaXaM Software le Ven 4 Mai 2012 - 11:17, édité 1 fois
avatar
Admin
Administrateur
Administrateur

Masculin Nombre de messages : 1875
Age : 25
Localisation : Boulogne Billancourt(92100)(France)
Emploi/loisirs : Etudiant à SUPINFO International University, stagiaire à Microsoft Corporation
Date d'inscription : 24/01/2008

Re: Supprimer une image [RÉSOLU]

Message par Admin le Ven 4 Mai 2012 - 11:05

Bonjour,

Ah d'accord, je n'avais pas compris que l'image était chargé ainsi.
Du coup, cette erreur est normal : tant que l'image est chargé, le fichier est utilisé. Il faut donc d'abord charger l'image, ensuite l'afficher, puis le décharger (avec l'action "Exécuter une fonction d'une variable", dans SZ 2012, en mettant le type "System.Drawing.Image" et en choisissant la fonction "Dispose"), et enfin supprimer le fichier...
Seulement voilà, si vous faites ça ainsi, il y aura quand même un problème comme vous dites : l'image est déchargé et supprimé, mais comme elle est déchargé du programme, elle n'apparait plus dans votre PictureBox d'où l'erreur.

Pour corriger ça : il faut faire en sorte de libérer l'image quand l'image affiché dans la PictureBox ne sera plus celle à supprimer, ou bien de la libérer quand la fenêtre aura été fermé (évènement FormClosed de la fenêtre). Et attention à ce que votre variable soit bien égale à l'image en question ! Si vous changez la valeur de la variable sans décharger l'image précédemment, celle-ci ne sera plus décharge-able (ce qui provoquera ce qu'on appel une "fuite mémoire", car le programme enmagasine une image en "mémoire RAM" que l'on ne pourra plus décharger sans que le programme ne soit fermé).



Les 4 règles d'or du forum : Bonjour, Merci, Pas de SMS, Et un petit "[RESOLU]" dans le titre du sujet quand le problème est réglé. Wink

Etienne

Site internet : http://www.velersoftware.com
Twitter : http://twitter.com/VelerSoftware

marcouf
Nouveau
Nouveau

Masculin Nombre de messages : 82
Date d'inscription : 22/03/2012

Re: Supprimer une image [RÉSOLU]

Message par marcouf le Ven 4 Mai 2012 - 22:22

Bonsoir à tous les 2 Surprised,

Bon, j'ai à peu près compris ce que vous avez écrit qu'à moitié Embarassed

Dans le programme que je lance, il y a un bouton qui affiche dans une listview, des noms...
Ces noms ont été crée dans le programme et sont rattachés à une image du même nom.
Donc, à chaque fois que l'on clique sur un des noms de la listview, une image s'affiche dans la pictureBox ! Et ça fait gonfler la RAM affraid (c'est Étienne qui l'a dit et c'est vrai) car aucune de ces
images ne peut être effacée manuellement dans le "Dossier Images" tant que l'application est ouverte. Je m'imagine avec une centaine de noms où j'aurai cliqué dessus, bonjour la RAM lol!
Le bouton Supprimer n'est visible que si on a sélectionné un nom de la liste. Vous me suivez Neutral ?
bom je continu, si vous cliquez sur Supprimer, vous supprimez le nom sélectionné et tous les fichiers du même nom. Sauf... l'image Sad
Bon là, je galère dur Neutral , c'est pas des trucs de débutants ça Mad , j'ai le cerveau tout retourné Suspect
Je vais faire quelques test...

Merci et @+en meilleure forme, Marc study
avatar
Admin
Administrateur
Administrateur

Masculin Nombre de messages : 1875
Age : 25
Localisation : Boulogne Billancourt(92100)(France)
Emploi/loisirs : Etudiant à SUPINFO International University, stagiaire à Microsoft Corporation
Date d'inscription : 24/01/2008

Re: Supprimer une image [RÉSOLU]

Message par Admin le Sam 5 Mai 2012 - 5:44

Bonjour,

Alors, moi ce que je proposerai, c'est ça :

Dans la fonction qui se déclenche quand on sélectionne un élément, on met :

  • Modifier une propriété d'un contrôle : contrôle PictureBox, propriété Image, valeur : Nothing (code vb.net)
  • Si VariableEgaleAL'Image <> Nothing (en vb.net), Alors

    • Exécuter une fonction d'une variable : variable VariableEgaleAL'Image, type System.Drawing.Image, fonction Dispose

  • Charger l'image dans la variable VariableEgaleAL'Image...
  • L'afficher...
Ainsi, à chaque fois que l'on change d'élément, on supprimer l'image du PictureBox, puis on la décharge de la mémoire.
Maintenant, dans la fonction pour supprimer un élément :

  • Modifier une propriété d'un contrôle : contrôle PictureBox, propriété Image, valeur : Nothing (code vb.net)
  • Si VariableEgaleAL'Image <> Nothing (en vb.net), Alors

    • Exécuter une fonction d'une variable : variable VariableEgaleAL'Image, type System.Drawing.Image, fonction Dispose

  • Supprimer le fichier....
  • Supprimer l'élément...
Ainsi, à chaque fois qu'on veut supprimer un élément, on vide le PictureBox et on libère l'image de la mémoire avant de supprimer le fichier. Smile
Bon j'avoue ne pas avoir essayé mais normalement ça devrait aller.
PS : la condition que j'ai mise permet de tester si la valeur de la variable VariableEgaleAL'Image n'est pas nulle : en effet, par exemple, quand on sélectionnera le tout premier élément qu'on va sélectionné dans la liste, comme il n'y en a pas eu avant, la variable VariableEgaleAL'Image n'a pas de valeur, donc on peut pas demander à l'ordinateur de vider une image qui n'a pas été chargé Wink


Pour toute autre question, n'hésitez pas



Les 4 règles d'or du forum : Bonjour, Merci, Pas de SMS, Et un petit "[RESOLU]" dans le titre du sujet quand le problème est réglé. Wink

Etienne

Site internet : http://www.velersoftware.com
Twitter : http://twitter.com/VelerSoftware

marcouf
Nouveau
Nouveau

Masculin Nombre de messages : 82
Date d'inscription : 22/03/2012

Re: Supprimer une image [RÉSOLU]

Message par marcouf le Sam 5 Mai 2012 - 14:19

Bonjour & Merci Étienne,

Je test ça depuis ce matin et après moult péripéties, ça fonctionne cheers

Par contre pour :

  • Si VariableEgaleAL'Image <> Nothing (en vb.net), Alors
Petit problème :

Du coup, je ne l'ai pas mis Embarassed et je suis obligé de charger une image à mettre dans la variable VariableEgaleAL'Image ! Mais ça fonctionne bien ainsi Wink !

Une petite question Étienne, j'utilise beaucoup de petites images en Ressource, elles ne s'affichent qu'avec MouseHover, en baladant la souris par dessus une liste de Boutons (20 Boutons au total)...
Peuvent-elles gonfler la RAM, sachant que l'on peut facilement passer une centaine de fois en quelques secondes sur ces Boutons ?

Merci encore & bon Week@+Marc
avatar
Admin
Administrateur
Administrateur

Masculin Nombre de messages : 1875
Age : 25
Localisation : Boulogne Billancourt(92100)(France)
Emploi/loisirs : Etudiant à SUPINFO International University, stagiaire à Microsoft Corporation
Date d'inscription : 24/01/2008

Re: Supprimer une image [RÉSOLU]

Message par Admin le Sam 5 Mai 2012 - 15:47

Bonjour,

Milles excuses pale.
A la place de "<>" dans la condition, mettez "Comme". Et déplacez le contenu de la condition dans la partie "Sinon" de la condition Smile

Pour les images en Ressources, comme elles sont en ressource du projet, elles sont déjà chargés au démarre de votre logiciel. Ce ne devrait donc pas changer la RAM (ou infiniment petit, donc négligeable).
Note : de plus, charger une image depuis le disque est plus gourmand en RAM que la charger depuis une ressources compilé avec le projet Smile



Les 4 règles d'or du forum : Bonjour, Merci, Pas de SMS, Et un petit "[RESOLU]" dans le titre du sujet quand le problème est réglé. Wink

Etienne

Site internet : http://www.velersoftware.com
Twitter : http://twitter.com/VelerSoftware
avatar
lereparateurdepc


Masculin Nombre de messages : 5491
Age : 24
Localisation : Calvados
Emploi/loisirs : Electrotechnicien / électricité, HAUTE TENSION, électronique, informatique, automatisme , Arduino, bref le BRICOLAGE , ...
Humeur : toujours cool
Date d'inscription : 31/01/2010

Re: Supprimer une image [RÉSOLU]

Message par lereparateurdepc le Sam 5 Mai 2012 - 16:02

re ,

OUI mais les images en ressources font gonfler l'exe final donc à l'éxécution , la RAM .

Cordialement ,
Le réparateur de PC



Modérateur & Administrateur du forum
Merci de contacter les membres par MP ou mail que pour "urgences". Le forum est fait pour ça. Merci

@ Contact : franleboss@gmail.com  Smile
Arrow  Visitez mon site : désolé l'hébergeur à fermé Sad

Ma chaine tutube : https://www.youtube.com/channel/UC7iU59NNAHz-tW5wqcgONHA



marcouf
Nouveau
Nouveau

Masculin Nombre de messages : 82
Date d'inscription : 22/03/2012

Re: Supprimer une image [RÉSOLU]

Message par marcouf le Lun 7 Mai 2012 - 13:02

Bonjour,

Depuis samedi, je nage dans la choucroute No



L'erreur se produit quand je lance mon programme et que je clique sur un élément !
Pour éviter cette erreur, je dois créer un nouvel élément et, sans avoir fermé l'application, je peux tranquillement cliquer sur tous les éléments !
Une fois fermée et réouverte, re-problème Suspect

@+Marc et Merci affraid
avatar
Admin
Administrateur
Administrateur

Masculin Nombre de messages : 1875
Age : 25
Localisation : Boulogne Billancourt(92100)(France)
Emploi/loisirs : Etudiant à SUPINFO International University, stagiaire à Microsoft Corporation
Date d'inscription : 24/01/2008

Re: Supprimer une image [RÉSOLU]

Message par Admin le Mar 8 Mai 2012 - 5:07

Bonjour,

Il faut absolument que l'action "Exécuter une fonction d'une variable : variable VariableEgaleAL'Image, type System.Drawing.Image, fonction Dispose" se trouve dans la partie "Sinon" de votre action "Si ... Alors ... Sinon" (partie de droite de l'action dans l'éditeur de fonctions), et que dans cette action, le paramètre "Est" soit égale à "Comme".



Les 4 règles d'or du forum : Bonjour, Merci, Pas de SMS, Et un petit "[RESOLU]" dans le titre du sujet quand le problème est réglé. Wink

Etienne

Site internet : http://www.velersoftware.com
Twitter : http://twitter.com/VelerSoftware

marcouf
Nouveau
Nouveau

Masculin Nombre de messages : 82
Date d'inscription : 22/03/2012

Re: Supprimer une image [RÉSOLU]

Message par marcouf le Mar 8 Mai 2012 - 8:06

Bonjour,

C'est exactement ce que je fais Sad et j'ai l'impression qu'il y a un hic au niveau de "Si la variable est comme Nothing" !
Le programme ne reconnait pas "Nothing" étant la valeur "Rien" de la variable au démarrage du programme Neutral

Avant de cliquer sur un élément de la "listview" si je crée un élément et que je lui attache une image, cela fonctionne car il y une valeur dans "VariableEgaleAL'Image"...

Le truc serait de connaitre la valeur de "VariableEgaleAL'Image" quand il n'y a rien dedans Embarassed

Désolé si j'ai tout faux dans mon raisonnement de débutant mais en tout cas Merci pour votre aide !

@+Marc Smile
avatar
Admin
Administrateur
Administrateur

Masculin Nombre de messages : 1875
Age : 25
Localisation : Boulogne Billancourt(92100)(France)
Emploi/loisirs : Etudiant à SUPINFO International University, stagiaire à Microsoft Corporation
Date d'inscription : 24/01/2008

Re: Supprimer une image [RÉSOLU]

Message par Admin le Mar 8 Mai 2012 - 15:35

Bonjour,

Le "Nothing" permet justement de le déterminer Wink
Juste, le "Nothing" (sans les guillemets), vous l'avez mi en valeur "VB.Net" ou "Texte"? (voir les petits boutons à droite de l'éditeur de valeur dans les paramètres de la condition)



Les 4 règles d'or du forum : Bonjour, Merci, Pas de SMS, Et un petit "[RESOLU]" dans le titre du sujet quand le problème est réglé. Wink

Etienne

Site internet : http://www.velersoftware.com
Twitter : http://twitter.com/VelerSoftware

marcouf
Nouveau
Nouveau

Masculin Nombre de messages : 82
Date d'inscription : 22/03/2012

Re: Supprimer une image [RÉSOLU]

Message par marcouf le Mar 8 Mai 2012 - 16:41

Bonsoir,

Le "Nothing" est Nothing en Bleu et en Visual Basic.Net drunken

Le programme ne passe pas le "Alors", il va directement au "Sinon"... pale
Si je met "Si VariableEgaleAL'Image Est Comme (VariableEgaleAL'Image)" il passe bien le "Alors" Arrow mais ça ne me sert pas à grand chose.

J'ai bien essayé de créer une variable "VariableEgaleAL'ImageRien" et de mettre "Si VariableEgaleAL'Image Est Comme (VariableEgaleAL'ImageRien)" mais même erreur Exclamation

Le seul truc que j'arrive à faire, c'est de charger une image quelconque automatiquement (en l'occurrence une image A de 1 pixel en N&B), de la décharger, et de charger ensuite la vraie image Evil or Very Mad

@+Marc Smile
avatar
Admin
Administrateur
Administrateur

Masculin Nombre de messages : 1875
Age : 25
Localisation : Boulogne Billancourt(92100)(France)
Emploi/loisirs : Etudiant à SUPINFO International University, stagiaire à Microsoft Corporation
Date d'inscription : 24/01/2008

Re: Supprimer une image [RÉSOLU]

Message par Admin le Mar 8 Mai 2012 - 17:03

Bonsoir,

Je ne suis pas sir de comprendre. Votre condition fonctionne bien c'est ca? Quand l'image n'est pas vide, on il l'a decharge, et quand elle est vide, il y a une erreur d'execution?



Les 4 règles d'or du forum : Bonjour, Merci, Pas de SMS, Et un petit "[RESOLU]" dans le titre du sujet quand le problème est réglé. Wink

Etienne

Site internet : http://www.velersoftware.com
Twitter : http://twitter.com/VelerSoftware

marcouf
Nouveau
Nouveau

Masculin Nombre de messages : 82
Date d'inscription : 22/03/2012

Re: Supprimer une image [RÉSOLU]

Message par marcouf le Mar 8 Mai 2012 - 17:43

Bonsoir,

Oui, c'est ça, quand il n'y a pas encore d'image dans la variable VariableEgaleAL'Image, la condition "Si...Est Comme Nothing" ne fonctionne pas ! Crying or Very sad
C'est du moins ce que je crois comprendre...

@+Marc
avatar
Admin
Administrateur
Administrateur

Masculin Nombre de messages : 1875
Age : 25
Localisation : Boulogne Billancourt(92100)(France)
Emploi/loisirs : Etudiant à SUPINFO International University, stagiaire à Microsoft Corporation
Date d'inscription : 24/01/2008

Re: Supprimer une image [RÉSOLU]

Message par Admin le Mar 8 Mai 2012 - 18:09

Re,

Et si dans la fonction s'exécutant à l'ouverture du logiciel ou de la fenêtre vous mettez une action "Modifier la valeur d'une variable", et que vous mettez la valeur "Nothing" (VB.Net) à la variable VariableEgaleAL, afin de forcer le fait qu'elle soit nulle, pour faire réagir la condition?



Les 4 règles d'or du forum : Bonjour, Merci, Pas de SMS, Et un petit "[RESOLU]" dans le titre du sujet quand le problème est réglé. Wink

Etienne

Site internet : http://www.velersoftware.com
Twitter : http://twitter.com/VelerSoftware

marcouf
Nouveau
Nouveau

Masculin Nombre de messages : 82
Date d'inscription : 22/03/2012

Re: Supprimer une image [RÉSOLU]

Message par marcouf le Mar 8 Mai 2012 - 18:15

Re,

Erreur sur "Modifier la valeur d'une variable" ->'New' ne peut pas être utilisé dans une classe déclarée 'MustInherit'.

Oups, je remplace par Nothing et erreur -> Variable objet ou variable d'un bloc With non définie.
avatar
Admin
Administrateur
Administrateur

Masculin Nombre de messages : 1875
Age : 25
Localisation : Boulogne Billancourt(92100)(France)
Emploi/loisirs : Etudiant à SUPINFO International University, stagiaire à Microsoft Corporation
Date d'inscription : 24/01/2008

Re: Supprimer une image [RÉSOLU]

Message par Admin le Mar 8 Mai 2012 - 18:26

affraid Là je n'y comprend plus rien.
Euuuh, ça vous dérange si je jette un coup d'oeil à votre projet? Ca me permettrait d'avoir une oeil sur tout ce qu'il se passe dedans au moment de l'erreur Smile
Vous pouvez me l'envoyer par email? (si vous voulez bien évidemment, il arrive qu'on ne veuille pas prêter son travail) : support@velersoftware.com



Les 4 règles d'or du forum : Bonjour, Merci, Pas de SMS, Et un petit "[RESOLU]" dans le titre du sujet quand le problème est réglé. Wink

Etienne

Site internet : http://www.velersoftware.com
Twitter : http://twitter.com/VelerSoftware

marcouf
Nouveau
Nouveau

Masculin Nombre de messages : 82
Date d'inscription : 22/03/2012

Re: Supprimer une image [RÉSOLU]

Message par marcouf le Mar 8 Mai 2012 - 18:35

Je crois que j'ai trouvé, dans Form_Load->Modifier la valeur d'une variable... variable "X" Est Comme variable "Xrien" et
dans la sélection des éléments : condition ->Si X Est Comme Xrien alors... Sinon Modifier une Prop d'1 contrôle... et exécuter une fonction d'une variable !!! ça a l'air de fonctionner, je veux bien quand même vous envoyer tout ça, et Merci !!!! Very Happy

le programme n'est pas terminé, donc il faudrait "Créer" en appuyant d'abord une le bouton en haut gauche, mettre un nom, cherche une photo sur le dd, sauver... fermer le programme et sélectionner le nom... bon je vous l'envoie.

Contenu sponsorisé

Re: Supprimer une image [RÉSOLU]

Message par Contenu sponsorisé


    La date/heure actuelle est Mer 26 Juil 2017 - 16:30