Lister les fichiers d'un rép. par ext. et date [Résolu]

Messages postés
64
Date d'inscription
samedi 26 août 2017
Dernière intervention
7 août 2018
- - Dernière réponse : Whismeril
Messages postés
12371
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
11 décembre 2018
- 22 juil. 2018 à 22:07
Bonjour à tous;
Voilà, j'aimerai lister tous les fichiers d'un répertoire par extension et date de création des fichiers.
Est-ce possible ?.
définir l'extension (*.eml) et la Date dans deux édits.
exemple: rechercher tous les fichiers .eml créé en 2018.
bouton rechercher ;
edit1.text:= (*.eml);
edit2.text:= (2018);

j'ai bien un exe qui recherche les fichiers par nom ou extension ou tous types de fichiers,
Mais mon problème, c'est que j'ai mis dans mon ordi une sauvegarde d'un fichier mail (.eml) et je le retrouve plus car les nom ne sont que des chiffres et des lettres et il faut à chaque fois que j'ouvre l'appli Windows live mail pour lire le fichier ...
"j'en n'ai juste que 300 fichiers (.eml)" , et dans le paquet j'ai mon fameux fichier.
Alors, si je pouvais faire une appli qui me retrouve le fichier(.eml) créé en 2018, ça me faciliterai bien la tâche;
J'ai bien trouvé des tutos qui lisent les attributs du fichier, mais pas lors d'une recherche.
voici ma procédure de recherche:
Procedure TRecherche_de_Fichiers.ScruteFichier(Dossier:string;filtre:string;attributs:integer; eff:boolean);
var
  FichierTrouve:string;
  SearchRec:TSearchRec;
  I: Integer;
begin
i:= 0;
If (Dossier[length(Dossier)]='\') then
    Dossier:=copy(Dossier, 1, length(Dossier)- 1);
    Resultat:= FindFirst(Dossier+'\'+ filtre, faHidden, SearchRec);
While Resultat=0 do
  begin
    if ((SearchRec.Attr and faDirectory)<=0)then
      begin
        i:= i +1;
        inc(i);
        FichierTrouve:= Dossier+'\'+SearchRec.Name;
        RichEdit1.Lines.Add(FichierTrouve);
            Application.ProcessMessages;
      end;
      Resultat:=FindNext(SearchRec);
  end;
    FindClose(SearchRec);
End;

En vous remercient d'avance;
bon codding à tous
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
1
Merci
Salut,
exemple recherche les fichiers de 2018
...
if StrToInt(FormatDateTime('yyyy',FileDateToDateTime(SearchRec.Time))) = 2018 then
  RichEdit1.Lines.Add(FichierTrouve);
...

ou recherche les fichiers avec un écart de 2 mois par rapport à la date du jour
uses DateUtils;
...
if WithinPastMonths(Now, FileDateToDateTime(SearchRec.Time), 2)  then
  RichEdit1.Lines.Add(FichierTrouve);
...

Il y a plein de solution possible :p
@+

Merci Yanb 1

Heureux de vous avoir aidé ! Vous nous appréciez ? Donnez votre avis sur nous ! Evaluez CodeS-SourceS

Codes Sources a aidé 100 internautes ce mois-ci

Commenter la réponse de Yanb
Messages postés
64
Date d'inscription
samedi 26 août 2017
Dernière intervention
7 août 2018
0
Merci
bonjour,Yanb;
Désolé de répondre aussi tardivement,
je ne suis pas informé des réponses reçues dans ma boîte mail perso
Merci pour ton code, je vais l'essayer
sincères salutations et bon codding
Commenter la réponse de cs_sagitarius
Messages postés
64
Date d'inscription
samedi 26 août 2017
Dernière intervention
7 août 2018
0
Merci
merciiiiiii !!!
ça marche super bien
tous mes respects
Commenter la réponse de cs_sagitarius
Messages postés
12371
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
11 décembre 2018
0
Merci
Bonsoir, si la solution te convient, merci de marquer le sujet résolu
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#marquer-un-sujet-resolu
Commenter la réponse de Whismeril

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.