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

Delphi Discussion :

[D7][TRI] Visualiser les fichiers triés par date de création dans TFileListBox


Sujet :

Delphi

  1. #1
    iam
    iam est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 197
    Points : 72
    Points
    72
    Par défaut [D7][TRI] Visualiser les fichiers triés par date de création dans TFileListBox
    salut tout le monde
    j'utilise le composant Raise, alors je visualise les ficchiers d'un réprtoire déterminé qui contient les sauvegardes de la base de données avec des noms de fichier du genre : A8D_Data_14_04_20070.zip et cela à l'aide des composants : RzDirectoryListBox1, RzFileListBox1, quand il y a bcp de sauvegarde les fichiers ne sont pas ordonnés par date par ordre décroissant, y a t'il un moyen de le faire par programmation ou bien une propriété que je doit l'exploiter? j'ai chercher auprès du forum mais je n'ai rien trouvé
    merci

  2. #2
    Membre chevronné Avatar de philnext
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 552
    Points : 1 780
    Points
    1 780
    Par défaut
    Je ne connais pas Raise mais peux tu expliquer ce que tu veux exactement : avoir la liste des fichiers classés par odre alpha, par ordre de création ou autre chose ?

  3. #3
    iam
    iam est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 197
    Points : 72
    Points
    72
    Par défaut
    je veux avoir la liste des fichiers classée par ordre de création (date) décroissant
    merci

  4. #4
    Membre chevronné Avatar de philnext
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 552
    Points : 1 780
    Points
    1 780
    Par défaut
    Une solution c'est de récupérer la liste de tes fichiers et de faire un FileGetAttr ( http://delphi.developpez.com/faq/?pa...tributsfichier) qui te permet de récupérer les attributs de fichiers donc de trier dessus.

  5. #5
    iam
    iam est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 197
    Points : 72
    Points
    72
    Par défaut
    salut
    merci pour ta réponse, j'ai consulté l'url que tu m'as donné mais je n'ai pas compris ce que je peux faire par FileGetAttr, par ailleur j'ai trouvé ça :
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     function GetFileTimes(const FileName: string; var Created: TDateTime; 
      var Accessed: TDateTime; var Modified: TDateTime): Boolean; 
    var 
      h: THandle; 
      Info1, Info2, Info3: TFileTime; 
      SysTimeStruct: SYSTEMTIME; 
      TimeZoneInfo: TTimeZoneInformation; 
      Bias: Double; 
    begin 
      Result := False; 
      Bias   := 0; 
      h      := FileOpen(FileName, fmOpenRead or fmShareDenyNone); 
      if h > 0 then 
      begin 
        try 
          if GetTimeZoneInformation(TimeZoneInfo) <> $FFFFFFFF then 
            Bias := TimeZoneInfo.Bias / 1440; // 60x24 
          GetFileTime(h, @Info1, @Info2, @Info3); 
          if FileTimeToSystemTime(Info1, SysTimeStruct) then 
            Created := SystemTimeToDateTime(SysTimeStruct) - Bias; 
          if FileTimeToSystemTime(Info2, SysTimeStruct) then 
            Accessed := SystemTimeToDateTime(SysTimeStruct) - Bias; 
          if FileTimeToSystemTime(Info3, SysTimeStruct) then 
            Modified := SystemTimeToDateTime(SysTimeStruct) - Bias; 
          Result := True; 
        finally 
          FileClose(h); 
        end; 
      end; 
    end;
    le pb que l'API GetFileTime n'est pas reconnue par delphi, est ce que cette fonction est correcte?

  6. #6
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Points : 3 263
    Points
    3 263
    Par défaut
    Voiçi des routines Delphi 5 :

    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
    16
    function DateHeureCreatFichier(fichier: string): TDateTime; 
    var        SearchRec : TSearchRec; Res : longint; 
    begin     Result:=0; 
                Res:=FindFirst(fichier, FaAnyFile, SearchRec); 
                if Res=0 then Result:=FileDateToDateTime(SearchRec.Time); 
                FindClose(SearchRec); 
    end;
    
    // Pour obtenir juste la date : Appel de la fonction précédente avec :
    
               Label1.Caption:=DateToStr(DateHeureCreatFichier('c:\fichier.doc'));
    
    // Et pour obtenir juste l'heure de la dernière modification d'un fichier 
    
               Label1.Caption:=TimeToStr(DateHeureCreatFichier('c:\fichier.doc'));
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

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

Discussions similaires

  1. tri d'une table paradox par date
    Par rinuom99 dans le forum Débuter
    Réponses: 1
    Dernier message: 29/04/2012, 09h01
  2. tri de fichier par date de création
    Par seveldan dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 02/02/2011, 08h37
  3. Réponses: 5
    Dernier message: 10/05/2010, 11h46
  4. Récupérer les fichiers effacés par scandisk
    Par arfy dans le forum Windows XP
    Réponses: 2
    Dernier message: 27/11/2006, 19h28
  5. Batch - Choisir un fichier par date de création
    Par Lorponos dans le forum Windows
    Réponses: 10
    Dernier message: 07/05/2006, 18h19

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