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 :

Récuperez la date de création d'un dossier [FAQ]


Sujet :

C++Builder

  1. #1
    Candidat au Club
    Inscrit en
    Juin 2004
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Récuperez la date de création d'un dossier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    int gfae = GetFileAttributesEx(DBdir.c_str(), GetFileExInfoStandard, &wfadDataDir);
     
    if ( gfae != 0 )
    {
      FILETIME ftCreate = wfadDataDir.ftCreationTime;
    }
    Le probleme c'est que je n'arrive pas à transformer ma variable FILETIME en DateTime.

    Si quelqu'un sait comment récupérer la date de création d'un dossier sous le format DateTime, merci d'avance !

  2. #2
    Membre chevronné
    Avatar de Gilles Louïse
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    421
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2002
    Messages : 421
    Points : 1 911
    Points
    1 911
    Par défaut
    S'il s'agissait d'un fichier classique, on pourrait utiliser FileAge qui se transforme facilement de DateTime mais malheureusement cette fonction ne marche pas avec un répertoire.

    J'ai l'impression que la fonction qui permet de passer de FILETIME à TDateTime n'existe pas mais il y a quand même un exemple ici en Delphi, je ne sais pas si c'est simple de le convertir en c++.

    À bientôt
    Gilles

  3. #3
    Membre expert
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Points : 3 204
    Points
    3 204
    Par défaut
    Bonsoir,

    J'ai essayé ceci donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    TSearchRec pSR;
    String S = "C:\\Projet Sh";
    int R = FindFirst(S, faDirectory, pSR);
    if (R == 0)
    {
    R = FileDateToDateTime(pSR.Time);
    TDateTime pDT = R;
    ShowMessage(pDT);
    ShowMessage(pSR.Name);
    }
    else
    {
    ShowMessage("pas bien");
    }
    Apparemment, ca fonctionne....en espérant t'aider, @ +
    Aux persévérants aucune route n'est interdite.
    Celui qui ne sait pas se contenter de peu ne sera jamais content de rien.
    Current Status
    Avec 40% de pollinisateurs invertébrés menacés d'extinction selon les Nations Unies, l'homme risque fort de passer de la monoculture à la mono diète...
    Faîtes quelque chose de bien avec vos petits sous: Enfants du Mekong

  4. #4
    Membre chevronné
    Avatar de Gilles Louïse
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    421
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2002
    Messages : 421
    Points : 1 911
    Points
    1 911
    Par défaut
    Excellent Cantrelle, ça marche tout à fait.

    Je me permets de proposer une autre version partant de votre code car le votre ne donne que le jour, l'internaute peut avoir besoin aussi de l'heure de création du répertoire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    TSearchRec pSR;
    String NomRep = "C:\\répertoire à chercher";
    TDateTime pDT;
     
    if (!FindFirst(NomRep, faDirectory, pSR))
       {
       pDT = FileDateToDateTime(pSR.Time);
       ShowMessage(pDT);
       }
    else
       {
       ShowMessage("répertoire inexistant");
       }
    À bientôt
    Gilles

  5. #5
    Candidat au Club
    Inscrit en
    Juin 2004
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Merci beaucoup !

    Ca faisait des années que je n'avais plus programmé en C++ et la j'étais complétement perdu. En plus, c'est la première fois que je suis sous l'environnement C++ Builder et pour l'instant je nage encore un peu !

    Je vous remercie encore !

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

Discussions similaires

  1. [Batch] Lister les dossiers en filtrant selon la date de création
    Par pgrandel dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 22/01/2014, 11h23
  2. [Batch] classer fichier dans dossier selon date de création
    Par g0g059 dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 13/03/2012, 21h31
  3. Récupérer la date de création d'un dossier
    Par stouil dans le forum Langage
    Réponses: 3
    Dernier message: 28/10/2011, 14h38
  4. Réponses: 2
    Dernier message: 28/11/2007, 21h02
  5. date de création de dossier
    Par cmax dans le forum C++Builder
    Réponses: 2
    Dernier message: 24/04/2007, 20h23

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