Etienne BAUDOUX

Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Etienne BAUDOUX

Forum sur les projets de Etienne BAUDOUX


4 participants

    Supprimer une image [RÉSOLU]

    avatar
    marcouf
    Nouveau
    Nouveau


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

    image - Supprimer une image [RÉSOLU] Empty Supprimer une image [RÉSOLU]

    Message par marcouf 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)
    lereparateurdepc
    lereparateurdepc



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

    image - Supprimer une image [RÉSOLU] Empty Re: Supprimer une image [RÉSOLU]

    Message par lereparateurdepc 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
    avatar
    marcouf
    Nouveau
    Nouveau


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

    image - Supprimer une image [RÉSOLU] Empty Re: Supprimer une image [RÉSOLU]

    Message par marcouf 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".
    lereparateurdepc
    lereparateurdepc



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

    image - Supprimer une image [RÉSOLU] Empty Re: Supprimer une image [RÉSOLU]

    Message par lereparateurdepc Jeu 3 Mai 2012 - 18:24

    re ,

    Normalement dans la catégorie Fichier .

    Cordialement ,
    Le réparateur de PC
    avatar
    marcouf
    Nouveau
    Nouveau


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

    image - Supprimer une image [RÉSOLU] Empty Re: Supprimer une image [RÉSOLU]

    Message par marcouf Jeu 3 Mai 2012 - 19:56

    re,

    Je n'ai pas, désolé !image - Supprimer une image [RÉSOLU] Sans_t21
    Admin
    Admin
    Administrateur
    Administrateur


    Masculin Nombre de messages : 1882
    Age : 32
    Localisation : Boulogne Billancourt(92100)(France)
    Emploi/loisirs : Software Development Engineer
    Date d'inscription : 24/01/2008

    image - Supprimer une image [RÉSOLU] Empty Re: Supprimer une image [RÉSOLU]

    Message par Admin 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)
    avatar
    marcouf
    Nouveau
    Nouveau


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

    image - Supprimer une image [RÉSOLU] Empty Re: Supprimer une image [RÉSOLU]

    Message par marcouf 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)
    MaXaM Software
    MaXaM Software
    Nouveau
    Nouveau


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

    image - Supprimer une image [RÉSOLU] Empty Re: Supprimer une image [RÉSOLU]

    Message par MaXaM Software 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
    Admin
    Admin
    Administrateur
    Administrateur


    Masculin Nombre de messages : 1882
    Age : 32
    Localisation : Boulogne Billancourt(92100)(France)
    Emploi/loisirs : Software Development Engineer
    Date d'inscription : 24/01/2008

    image - Supprimer une image [RÉSOLU] Empty Re: Supprimer une image [RÉSOLU]

    Message par Admin 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é).
    avatar
    marcouf
    Nouveau
    Nouveau


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

    image - Supprimer une image [RÉSOLU] Empty Re: Supprimer une image [RÉSOLU]

    Message par marcouf 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
    Admin
    Admin
    Administrateur
    Administrateur


    Masculin Nombre de messages : 1882
    Age : 32
    Localisation : Boulogne Billancourt(92100)(France)
    Emploi/loisirs : Software Development Engineer
    Date d'inscription : 24/01/2008

    image - Supprimer une image [RÉSOLU] Empty Re: Supprimer une image [RÉSOLU]

    Message par Admin 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
    avatar
    marcouf
    Nouveau
    Nouveau


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

    image - Supprimer une image [RÉSOLU] Empty Re: Supprimer une image [RÉSOLU]

    Message par marcouf 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 : image - Supprimer une image [RÉSOLU] Erreur10

    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
    Admin
    Admin
    Administrateur
    Administrateur


    Masculin Nombre de messages : 1882
    Age : 32
    Localisation : Boulogne Billancourt(92100)(France)
    Emploi/loisirs : Software Development Engineer
    Date d'inscription : 24/01/2008

    image - Supprimer une image [RÉSOLU] Empty Re: Supprimer une image [RÉSOLU]

    Message par Admin 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
    lereparateurdepc
    lereparateurdepc



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

    image - Supprimer une image [RÉSOLU] Empty Re: Supprimer une image [RÉSOLU]

    Message par lereparateurdepc 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
    avatar
    marcouf
    Nouveau
    Nouveau


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

    image - Supprimer une image [RÉSOLU] Empty Re: Supprimer une image [RÉSOLU]

    Message par marcouf Lun 7 Mai 2012 - 13:02

    Bonjour,

    Depuis samedi, je nage dans la choucroute No

    image - Supprimer une image [RÉSOLU] Sans_t22

    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
    Admin
    Admin
    Administrateur
    Administrateur


    Masculin Nombre de messages : 1882
    Age : 32
    Localisation : Boulogne Billancourt(92100)(France)
    Emploi/loisirs : Software Development Engineer
    Date d'inscription : 24/01/2008

    image - Supprimer une image [RÉSOLU] Empty Re: Supprimer une image [RÉSOLU]

    Message par Admin 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".
    avatar
    marcouf
    Nouveau
    Nouveau


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

    image - Supprimer une image [RÉSOLU] Empty Re: Supprimer une image [RÉSOLU]

    Message par marcouf 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
    Admin
    Admin
    Administrateur
    Administrateur


    Masculin Nombre de messages : 1882
    Age : 32
    Localisation : Boulogne Billancourt(92100)(France)
    Emploi/loisirs : Software Development Engineer
    Date d'inscription : 24/01/2008

    image - Supprimer une image [RÉSOLU] Empty Re: Supprimer une image [RÉSOLU]

    Message par Admin 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)
    avatar
    marcouf
    Nouveau
    Nouveau


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

    image - Supprimer une image [RÉSOLU] Empty Re: Supprimer une image [RÉSOLU]

    Message par marcouf 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
    Admin
    Admin
    Administrateur
    Administrateur


    Masculin Nombre de messages : 1882
    Age : 32
    Localisation : Boulogne Billancourt(92100)(France)
    Emploi/loisirs : Software Development Engineer
    Date d'inscription : 24/01/2008

    image - Supprimer une image [RÉSOLU] Empty Re: Supprimer une image [RÉSOLU]

    Message par Admin 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?
    avatar
    marcouf
    Nouveau
    Nouveau


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

    image - Supprimer une image [RÉSOLU] Empty Re: Supprimer une image [RÉSOLU]

    Message par marcouf 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
    Admin
    Admin
    Administrateur
    Administrateur


    Masculin Nombre de messages : 1882
    Age : 32
    Localisation : Boulogne Billancourt(92100)(France)
    Emploi/loisirs : Software Development Engineer
    Date d'inscription : 24/01/2008

    image - Supprimer une image [RÉSOLU] Empty Re: Supprimer une image [RÉSOLU]

    Message par Admin 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?
    avatar
    marcouf
    Nouveau
    Nouveau


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

    image - Supprimer une image [RÉSOLU] Empty Re: Supprimer une image [RÉSOLU]

    Message par marcouf 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.
    Admin
    Admin
    Administrateur
    Administrateur


    Masculin Nombre de messages : 1882
    Age : 32
    Localisation : Boulogne Billancourt(92100)(France)
    Emploi/loisirs : Software Development Engineer
    Date d'inscription : 24/01/2008

    image - Supprimer une image [RÉSOLU] Empty Re: Supprimer une image [RÉSOLU]

    Message par Admin 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
    avatar
    marcouf
    Nouveau
    Nouveau


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

    image - Supprimer une image [RÉSOLU] Empty Re: Supprimer une image [RÉSOLU]

    Message par marcouf 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é


    image - Supprimer une image [RÉSOLU] Empty Re: Supprimer une image [RÉSOLU]

    Message par Contenu sponsorisé


      La date/heure actuelle est Ven 22 Nov 2024 - 1:39