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 :

Rechercher un/des fichier(s) par sa taille


Sujet :

Delphi

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 33
    Par défaut Rechercher un/des fichier(s) par sa taille
    Bonjour,

    je souhaite effectuer une recherche sur un ou plusieurs disque dur pour trouver les fichiers dont la taille serait plus grande ou plus petite que tel ou tel taille et ensuite recuperé plusieurs informations sur le dit fichier.

    malgré mes recherche sur la toile je n'ai rient trouver de satisfesant pour en arrivé la.

    Cordialement.

  2. #2
    Membre éclairé
    Inscrit en
    Mai 2006
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 69
    Par défaut
    Pour la recherche de fichier, à part FindFirst(), FindNext(), FindClose(), y a pas grand chose d'autre...

    Bruno.

  3. #3
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 921
    Billets dans le blog
    6
    Par défaut
    m'étonnerait qu'il n'y ait rien dans la FAQ sur l'exploration récursive des répertoires !

    à toi d'éplucher les TSearchRecord.Size et d'ajouter ou pas à ta liste
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  4. #4
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Par défaut
    Citation Envoyé par tourlourou
    m'étonnerait qu'il n'y ait rien dans la FAQ sur l'exploration récursive des répertoires !
    Encore mieux, il y a un article
    http://cchatelain.developpez.com/art...iers/parcours/
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

  5. #5
    Membre Expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 54
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Par défaut
    Citation Envoyé par tourlourou
    m'étonnerait qu'il n'y ait rien dans la FAQ sur l'exploration récursive des répertoires !

    à toi d'éplucher les TSearchRecord.Size et d'ajouter ou pas à ta liste
    Au mois de Juillet, j'ai posté un truc dans le genre

    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    function ConstruitListeFichiers(const Chemin: string; const ListeFichiers: TStrings): Boolean;
    var
      RepertoireRacine: string;
      Repertoires: TStringList;
      IDRepertoireCourant: Integer;
      Compteur: Integer;
     
      procedure ConstruitListeRepertoires;
      var SR: TSearchRec;
          Rslt: Integer;
      begin
        Compteur := Repertoires.Count - 1;
        IDRepertoireCourant := 0;
        while IDRepertoireCourant <= Compteur do
        begin
          // Recherche sous-répertoires
          Rslt := FindFirst(Repertoires[IDRepertoireCourant] + '*.*', faDirectory, SR);
          try
            while Rslt = 0 do
            begin
              if (SR.Name<>'.') and (SR.Name<>'..') and
                 (SR.Attr and faDirectory=faDirectory) then
                Repertoires.Add(Repertoires[IDRepertoireCourant] + SR.Name + '\');
     
              Rslt := FindNext(SR);
            end;
          finally
            FindClose(SR);
          end;
          Compteur := Repertoires.Count - 1;
          Inc(IDRepertoireCourant);
        end;
      end;
     
      procedure RemplieListeFichiers(CompteurCourant: Integer);
      var
        SR: TSearchRec;
        Rslt: Integer;
        RepertoireCourant: string;
        AFileExt:string;
      begin
        RepertoireCourant:=Repertoires[CompteurCourant];
        Rslt:=FindFirst(RepertoireCourant+'*.*',faAnyFile-faDirectory,SR);
        try
          while ((Rslt=0)) do
          begin
             AFileExt:=ExtractFileExt(SR.Name);
             if (AFileExt='.txt') or (AFileExt='.TXT'))
             then ListeFichiers.Add(RepertoireCourant+SR.Name);
     
            Rslt := FindNext(SR);
          end;
        finally
          FindClose(SR);
        end;
      end;
     
    begin
      Assert(Assigned(ListeFichiers));
      RepertoireRacine:=ExtractFilePath(Chemin);
     
      Repertoires:=TStringList.Create;
      ListeFichiers.BeginUpdate;
      try
        Repertoires.Add(RepertoireRacine);
        // Recherche récursive dans les sous répertoires
        ConstruitListeRepertoires;
     
        for Compteur := 0 to Repertoires.Count - 1
        do RemplieListeFichiers(Compteur);
      finally
        Repertoires.Free;
        ListeFichiers.EndUpdate;
      end;
      Result := True;
    end;
    Vous devriez vous en sortir pour adapter la "chose"

Discussions similaires

  1. Recherche & Sauvegarde des fichiers par leurs Extensions
    Par hackoofr dans le forum Vos Contributions VBScript
    Réponses: 1
    Dernier message: 16/02/2013, 07h22
  2. Réponses: 6
    Dernier message: 14/04/2006, 16h35
  3. Noms des fichiers téléchargés par wget
    Par benj63 dans le forum Linux
    Réponses: 2
    Dernier message: 22/02/2006, 11h54
  4. Réponses: 6
    Dernier message: 26/12/2005, 00h48
  5. [XP] recherche dans des fichiers d'extension jsp
    Par drinkmilk dans le forum Windows XP
    Réponses: 5
    Dernier message: 20/10/2005, 08h55

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