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

API, COM et SDKs Delphi Discussion :

déplacer fichier corbeille


Sujet :

API, COM et SDKs Delphi

  1. #1
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2004
    Messages
    264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Octobre 2004
    Messages : 264
    Points : 104
    Points
    104
    Par défaut déplacer fichier corbeille
    Bonjour,

    J'ai une application dans laquelle on peut effacer des fichiers du répertoire dans laquelle elle est.

    Je souhaite maintenant les déplacer dans la corbeille.

    Je ne trouve pas le moyen de trouver le chemin de la corbeille

    Ma méthode consistant à utiliser la fonction FileCopy vers la corbeille puis DeleteFile pour ensuite le scratcher de son répertoire.

    Merci pour toute indication.

  2. #2
    Membre confirmé Avatar de JustMe
    Inscrit en
    Juillet 2002
    Messages
    479
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 479
    Points : 594
    Points
    594

  3. #3
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2004
    Messages
    264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Octobre 2004
    Messages : 264
    Points : 104
    Points
    104
    Par défaut
    merci mille fois, encore mieux que ce que j'escomptais réaliser.

  4. #4
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2004
    Messages
    264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Octobre 2004
    Messages : 264
    Points : 104
    Points
    104
    Par défaut
    Citation Envoyé par F@bien.fd Voir le message
    merci mille fois, encore mieux que ce que j'escomptais réaliser.
    Je viens de m'atteler au problème, or dans la fonction la variable "fos" est du type TSHFileOpStruct que le compilateur ne reconnait pas, ne peut-on pas la remplacer par une variable du type array[0..N] of char puisque elle contient la chaîne de caractères constituée par les fichiers à envoyer à la benne ?

    Non en fait puisque je pense que c'est un type enregistrement
    type
    TSHFileOpStruct = record
    wFunc : Word;
    pFrom : array[0..N] of char;
    fFlags : Word;
    end;

    de même les constantes :
    FO_DELETE
    FOF_ALLOWUNDO
    FOF_NOCONFIRMATION
    FOF_SILENT
    ne sont pas reconnues et je ne trouve pas leurs valeurs ...

  5. #5
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Ajoute ShellApi dans les uses de ton unité

  6. #6
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2004
    Messages
    264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Octobre 2004
    Messages : 264
    Points : 104
    Points
    104
    Par défaut
    Citation Envoyé par Rayek Voir le message
    Ajoute ShellApi dans les uses de ton unité
    Merci, je n'y avais évidemment pas pensé car je l'avais placé dans l'unité principale et ma fonction est dans une unité secondaire , je suis presque arrivé au bout.

    de plus pFrom : n'est pas du type array[0..N] of char mais String;

    Il me reste à résoudre le problème des types incompatibles dans
    result := (0 = ShFileOperation(fos));

    où "fos" est du type defini "TSHFileOpStruct" et le résultat "result"de la fonction qui semble du type"_SHFILEOPSTRUCA".

  7. #7
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2004
    Messages
    264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Octobre 2004
    Messages : 264
    Points : 104
    Points
    104
    Par défaut
    Citation Envoyé par F@bien.fd Voir le message

    un problème demeure avec
    result := (0 = ShFileOperation(fos));
    En fait j'avais redéclaré le type enregistrement ...

    donc la fonction peut être utilisée telle quelle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function DeleteFileToRecycleBin(AFileName: string) : boolean;
    var
      fos : TSHFileOpStruct;
    begin
      FillChar(fos, SizeOf(fos),0);
      with fos do
      begin
        wFunc  := FO_DELETE;
        pFrom  := PChar(AFileName+#0);
        fFlags := FOF_ALLOWUNDO or FOF_NOCONFIRMATION or FOF_SILENT;
      end;
      result := (0 = ShFileOperation(fos));
    end;
    Mais surtout il ne faut pas oublier de rajouter uniquement dans les uses le ShellApi dans l'unité concernée et pas l'unité principale.

    Merci pour l'aide qui m'a été apportée.

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

Discussions similaires

  1. [AC-2000] Déplacer fichier vers la corbeille
    Par Remus91 dans le forum IHM
    Réponses: 2
    Dernier message: 27/04/2009, 12h05
  2. Déplacer fichiers vides
    Par horus535 dans le forum Langage
    Réponses: 2
    Dernier message: 12/08/2008, 13h25
  3. Fichiers corbeille invisibles
    Par ladegaillerie dans le forum Windows XP
    Réponses: 2
    Dernier message: 04/04/2008, 10h49
  4. déplacer fichier sur le serveur
    Par al3alwa dans le forum Servlets/JSP
    Réponses: 11
    Dernier message: 04/06/2007, 18h27
  5. Suppression de fichier (corbeille)
    Par matt8-5 dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 02/02/2007, 12h31

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