Lister les fichiers d'un rép. par ext. et date

Résolu
Utilisateur anonyme - 17 juil. 2018 à 16:56
Whismeril
Messages postés
17333
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
18 mai 2022
- 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

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
@+
1
Utilisateur anonyme
22 juil. 2018 à 18:42
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
0
Utilisateur anonyme
22 juil. 2018 à 20:02
merciiiiiii !!!
ça marche super bien
tous mes respects
0
Whismeril
Messages postés
17333
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
18 mai 2022
596
22 juil. 2018 à 22:07
0