IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

deplacement photos d'un dossier a un autre [Débutant]


Sujet :

C++Builder

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2011
    Messages : 21
    Par défaut deplacement photos d'un dossier a un autre
    Bonjour,
    je dois réaliser un programme permettant d'afficher des images en les sélectionnant dans une listbox et de pouvoir les "supprimer", j'ai réussi a les afficher en cliquant dessus dans la listbox avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    //val est la valeur de la ligne sur laquelle on clique 
    val = Form2->ListBox->ItemIndex;
    //On retourne l'image sélectionné  
    image = Form2->ListBox->Items->Strings[val];
    //on affiche dans le TImage l'image sur laquelle on a cliqué
    Form2->apercuImage->Picture->LoadFromFile("test1\\" + image);
    Je dois pouvoir "supprimer" les images sélectionnées en cliquant sur un bouton, la suppression s'apparente plutôt à un déplacement en faite je dois envoyer les photos sélectionnées dans mon listbox (qui sont dans un dossier) dans un dossier "corbeille" qui me servira plus tard.

    Seulement je ne sais pas comment réaliser cela, j'ai essayé avec la fonction MoveFile ainsi que SaveToFile mais je n'y suis pas arrivé , si quelqu'un pouvait m'aider...

    Merci d'avance.

  2. #2
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 057
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 057
    Par défaut


    FAQ Delphi : Comment envoyer un fichier à la corbeille ?
    FAQ C++ :Comment envoyer un fichier à la corbeille ?

    Cela utilse SHFileOperation + FOF_ALLOWUNDO
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2011
    Messages : 21
    Par défaut
    Je ne veux pas envoyer mes images dans la corbeille mais dans un dossier "corbeille" propre a mon projet que j'aurais pu appelé par exemple "stockage" je dois utiliser FO_MOVE comme paramètre?
    Et je ne veux supprimer que les photos que j'ai sélectionné dans ma listbox comment je dois faire pour ne sélectionner que celle la?

  4. #4
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 057
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 057
    Par défaut
    MoveFile fonctionne très bien pour cela !
    MoveFileEx te permet de gérer le déplacement si disque différent !
    Tu boucle sur ListBox->Items
    Quel est ton code ?
    tu n'aurais pas oublié le c_str() pour convertir String en char* comme paramètre de MoveFile

    SaveToFile te fera une copie
    DeleteFile pour nettoyer le précédent
    Attention au chemin relatif, tu devrais stocker le chemin racine (calculé via Application->ExeName)
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2011
    Messages : 21
    Par défaut
    J'avais un code dans le style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    AnsiString  Chemain1 = "test1/", Chemain2 = "dossier2/";
    if(MoveFile(Chemain1.c_str(), Chemain2.c_str()) == true)
    {   
    ShowMessage("Ok"); //Réperoire déplacé avec succès
    }
    else
    {  
    ShowMessage("Impossible de déplacer"); //Problème
    }
    Mais cela ne marche pas, quand bien même cela marcherai ca ne me déplacerai pas les fichiers sélectionnées mais tout les fichiers ...

  6. #6
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 057
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 057
    Par défaut
    Evite les chemins style "test1/" mais un chemin complet "C:\\Dossier\\SousDossier\\Fichier.ext"

    MoveFile déplace des fichiers par des dossier
    SHFileOperation est capable de déplacer des dossier !

    Et comme je le disais, utilise tes ListBox->Items, fait une boucle for dessus dans laquelle tu appeles MoveFile

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(MoveFile(Chemain1.c_str(), Chemain2.c_str()) == true)
    peut s'écrire tout simplement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(MoveFile(Chemain1.c_str(), Chemain2.c_str()))
    chemain ? chemin ? c'est original !
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  7. #7
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2011
    Messages : 21
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    AnsiString  OldPath = "C:\\Documents and Settings\\IHM - 2 version\\test1\\Img001.jpg", NewPath = "C:\\Documents and Settings\\IHM - 2 version\\dossier2\\";
    if(MoveFile(OldPath.c_str(),NewPath.c_str()))
    {   ShowMessage("Ok");
       //Réperoire déplacé avec succès
    }
    else
    {  ShowMessage("Impossible de déplacer");
       //Problème
    }
    Ça ne fonctionne pas je me suis demandé si c'était pas un problème sur le chemin donc j'ai essayé avec de simple antislash "C:\Document....\etc", j'ai aussi essayé avec le chemin relatif et absolue ca fonctionne pas non plus ca m'envoie direct dans le ShowMessage("Impossible de déplacer");

  8. #8
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 057
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 057
    Par défaut
    Arrête de bricoler !
    Consulte un peu la Doc de MoveFile !
    Tu dois mettre un nom de fichier dans les DEUX !
    Il faut aussi que le dossier de destination existe !


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    OldPath = "C:\\Documents and Settings\\IHM - 2 version\\test1\\Img001.jpg";
    NewPath = "C:\\Documents and Settings\\IHM - 2 version\\dossier2\\Img001.jpg";
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  9. #9
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2011
    Messages : 21
    Par défaut
    J'ai enfin réussi, j'avais un autre problème qui m'empêcher de transférer le fichier sélectionné mais ça fonctionne maintenant !
    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Mapper un dossier sur un autre
    Par Harry dans le forum Windows
    Réponses: 6
    Dernier message: 19/03/2008, 15h08
  2. Redirection par .htaccess dans le dossier www ou autre
    Par christian38160 dans le forum Apache
    Réponses: 1
    Dernier message: 05/02/2008, 20h45
  3. Transferer des données d'un dossier dans un autre avec un tri
    Par Papillon34 dans le forum Macros et VBA Excel
    Réponses: 42
    Dernier message: 17/10/2007, 11h52
  4. Copier un fichier d'un dossier vers un autre
    Par rvaysse dans le forum VB.NET
    Réponses: 10
    Dernier message: 13/08/2007, 15h33
  5. partager un dossier avec les autres users (invité)
    Par cortex024 dans le forum Windows XP
    Réponses: 3
    Dernier message: 14/09/2006, 23h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo