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 :

Suppression de fichiers


Sujet :

C++Builder

  1. #1
    Futur Membre du Club
    Inscrit en
    Octobre 2003
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 9
    Points : 7
    Points
    7
    Par défaut Suppression de fichiers
    je cherche a supprimer un ensemble de fichiers du disque (*.lnx)
    apres une recherche sur le forum g trouver les infos suivantes :

    //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    Envoyer des fichiers dans la corbeille :
    Par exemple nous allons envoyer tous les fichiers textes "*.txt" du dossier "C:\\tmp" dans la corbeille à l'aide de la fonction SHFileOperation.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
         #include <shellapi.h>
     
         //................................
     
         SHFILEOPSTRUCT FileOpStr;
         ZeroMemory(&FileOpStr, sizeof(FileOpStr));
         FileOpStr.hwnd = Application->Handle;
         FileOpStr.fFlags = FOF_ALLOWUNDO;
         FileOpStr.wFunc = FO_DELETE;
         FileOpStr.pFrom = "C:\\tmp\\*.txt\0";
         SHFileOperation(&FileOpStr);
    //////////////////////////////////////////////////////////////////////////////////////////////////////////////////


    sauf que si l'un des fichiers .txt ( dans ce cas) est utilisé ca genere une serie d'erreur. g chercher a modifier les parametres de FileOpStr mais a aucun moment g trouver une solution.

    sans chercher a enerver l'auteur du code, je citerai mon discours informatique favori : "On ne peut pas affirmer avec certitude qu'un programme fonctionne, on peut tout au plus dire que l'on n'a pas encore trouver de bug !!!"

    Balises [Code] rajoutées par Greybird
    Pensez-y à l'avenir !

  2. #2
    Membre régulier
    Avatar de bebeours
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 103
    Points : 123
    Points
    123
    Par défaut
    C'est normal que tu ne puisses pas supprimer un fichier en cours d'utilisation, c'est le système d'exploitation qui le gère. Je ne sais pas comment savoir si un fichier est utilisé, mais tu peux essayer de gérer l'erreur que tu obtiens avec un try ... catch. Non ?

  3. #3
    Futur Membre du Club
    Inscrit en
    Octobre 2003
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    Peut etre, mais comme g jamais fait, peut tu preciser ta pensée :

  4. #4
    Membre régulier
    Avatar de bebeours
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 103
    Points : 123
    Points
    123
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    try{
     SHFileOperation(&FileOpStr);
    }
    catch(...){
     ShowMessage("Une erreur est survenue lors de la suppression des fichiers !");
    }
    Mais ça dépend si l'erreur que tu obtiens peut être récupérée.

  5. #5
    Futur Membre du Club
    Inscrit en
    Octobre 2003
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    g tester ton code mais ca empeche pas l'affichage d'un message d'erreur windows, et le showmessage n'est pas executer, Pourquoi je sais pas !

    enfin c pas grave, je v voir s'il existe une autre fonction pour supprimer un ensemble de fichier.

  6. #6
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Salut

    Je ne sais pas comment savoir si un fichier est utilisé
    On peut essayer de l'ouvrir en mode "exclusif", si ça échoue, c'est qu'il est déjà utilisé.
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  7. #7
    Rédacteur
    Avatar de Greybird
    Inscrit en
    Juin 2002
    Messages
    673
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 673
    Points : 1 271
    Points
    1 271
    Par défaut
    Bonjour,

    Citation Envoyé par wasch
    g tester ton code mais ca empeche pas l'affichage d'un message d'erreur windows, et le showmessage n'est pas executer, Pourquoi je sais pas !
    Attention, il faut désactiver la gestion des exception par C++ Builder avant, sinon il est prioritaire.
    Outils>Options du débogueur>Exceptions du langage, décocher arrêter sur exception Delphi et arrêter sur exceptions C++.

    Tu aura alors le comportement normal de ton application comme si elle n'était pas exécutée au sein de C++ Builder.

    Cordialement,

    Arnaud

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

Discussions similaires

  1. [info] suppression cache fichiers .class
    Par nicolas581 dans le forum Applets
    Réponses: 3
    Dernier message: 06/08/2004, 11h39
  2. [CVS] Répercuter les suppressions de fichiers
    Par efaure dans le forum Eclipse Java
    Réponses: 6
    Dernier message: 17/05/2004, 17h34
  3. [BATCH]Suppression de fichier
    Par alxkid dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 21/04/2004, 13h25
  4. Réponses: 4
    Dernier message: 16/04/2004, 08h20
  5. Auto suppression de fichier
    Par pato dans le forum Langage
    Réponses: 4
    Dernier message: 05/03/2004, 09h09

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