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

Signaler
-
Messages postés
15900
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
2 mai 2021
-
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

4 réponses

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
@+

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

merciiiiiii !!!
ça marche super bien
tous mes respects
Messages postés
15900
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
2 mai 2021
540