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 :

Recherche extension fichiers


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 17
    Par défaut Recherche extension fichiers
    Bonjour,

    J'aimerais faire une recherche sur l'extension des fichiers.

    J'ai un formulaire avec des checkbox, lorsque que je coche un case cela fonctionne. La où ça se corse c'est a partir de 2.

    Il me met dans ma variable que la dernier case que j'ai coché.

    Voici ce que j'ai fait:

    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
    if ChBxLog.Checked then extension := '\*.log';
    if ChBxTMP.Checked then extension := '\*.tmp';
    if ChBxBAK.Checked then extension := '\*.bak';
     
    if EdtScan.Text = ' '
         then MessageDlg('Aucun type de fichier na été sélectionné',mtError,[mbOK],0)
         else
           begin
        fileattrs := $0000003F;
        with FResultatInventaire.StringGridResultatInventaire do
          begin
            ShowMessage(extension);
            RowCount := 0;
            if FindFirst(FInventaire.EdtScan.Text + extension, FileAttrs, sr) = 0  then
               repeat
                 if (sr.Attr and FileAttrs) = sr.Attr then
                 begin
                   RowCount := RowCount + 1;
                   Cells[0,RowCount-1] := sr.Name;
                   Cells[1,RowCount-1] := IntToStr(sr.Size);
                   dt := FileDateToDateTime(sr.time);
                   Cells[2,RowCount-1] := datetimetostr(dt);
                 end;
               until FindNext(sr) <> 0;
            FindClose(sr);
          end;
    end;
    De plus dans mon code, je n'ai pas encore pas mis la récursivité. Il ne recherche que dans le répertoire courant. Il y a bien une FAQ sur ce sujet, lais je n'ai pas bien compris Si une âme charitable pouvais m'expliquer ce sera super.

    Merci pour votre aide

  2. #2
    Membre émérite
    Avatar de ouiouioui
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2006
    Messages
    993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 993
    Par défaut
    Citation Envoyé par The Ditch Voir le message
    [CODE]if ChBxLog.Checked then extension := '\*.log';
    if ChBxTMP.Checked then extension := '\*.tmp';
    if ChBxBAK.Checked then extension := '\*.bak';
    Normal, a chaque test tu écrase la valeur précédente.
    Moi je créerai un array et ajouterai dedans si checked, et en bas je boucle findfirst findclose pour tester les valeur de l'array

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 17
    Par défaut
    Bonjour merci pour ton aide.

    Je dois encore avoir un soucis dans mon code:

    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
    procedure TFInventaire.BtnAnalyseClick(Sender: TObject);
    var sr                 : TSearchRec ;
        fileattrs,i,j      : integer ;
        dt                 : tdatetime;
        extension          : string;
        TabExtensionFiles  : array [1..3] of string [7];
     
    begin
     
       if ChBxLog.Checked then TabExtensionFiles[1]:= ('\*.log');
       if ChBxTMP.Checked then TabExtensionFiles[2]:= ('\*.tmp');
       if ChBxBAK.Checked then TabExtensionFiles[3]:= ('\*.bak');
     
    if EdtScan.Text = ' '
         then MessageDlg('Aucun type de fichier na été sélectionner',mtError,[mbOK],0)
         else
           begin
              fileattrs := $0000003F;
              j := 1;
              with FResultatInventaire.StringGridResultatInventaire do
                begin
                  while j < 22 do
                       begin
                          RowCount := 0;
                          if FindFirst(FInventaire.EdtScan.Text + TabExtensionFiles[i], FileAttrs, sr) = 0  then
                             repeat
                               if (sr.Attr and FileAttrs) = sr.Attr then
                               begin
                                 RowCount := RowCount + 1;
                                 Cells[0,RowCount-1] := sr.Name;
                                 Cells[1,RowCount-1] := IntToStr(sr.Size);
                                 dt := FileDateToDateTime(sr.time);
                                 Cells[2,RowCount-1] := datetimetostr(dt);
                               end;
                             until FindNext(sr) <> 0;
                          FindClose(sr);
                          j := j+1;
                       end;
                end;
    end;
    Si vous pouviez m'aiguiller; ce sera sympa. Je n'ai pas encore acquis la logique ...

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 03/11/2013, 16h17
  2. [XL-2010] Rechercher un fichier en connaissant son nom et son extension
    Par richert90 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 17/10/2013, 19h21
  3. Recherche de fichier sans extension
    Par sempire dans le forum Windows XP
    Réponses: 8
    Dernier message: 24/06/2009, 10h06
  4. [WinAPI] Infos extensions fichiers
    Par Pedro dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 16/06/2004, 14h36
  5. Recherche support fichier
    Par sydiop dans le forum Informix
    Réponses: 5
    Dernier message: 18/03/2004, 11h15

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