Ne pas afficher les dossiers vide

[Résolu]
Signaler
Messages postés
68
Date d'inscription
jeudi 3 novembre 2011
Statut
Membre
Dernière intervention
6 février 2015
-
Messages postés
68
Date d'inscription
jeudi 3 novembre 2011
Statut
Membre
Dernière intervention
6 février 2015
-
Bonjour a tous;

Voila mon petit probleme je rechercher comment on peu ignorer les dossiers vide ou faire le traitement directement dans la procedure,Ignorer les dossiers vide ( Ne pas afficher dans le TStringGrid )

procedure TForm1.Scan(const CheminRep, Fichier : string; const SousRep : boolean);
var Rec  : TSearchRec;
    Rep : string;
begin
Path := IncludeTrailingBackslash(PathName);
if FindFirst(Rep + Fichier, faAnyFile - faDirectory, Rec) = 0 then
 try
   repeat
     StringGrid1.Cells[0,StringGrid1.RowCount -1] := (Path + Rec.Name);
     StringGrid1.RowCount := StringGrid1.RowCount +1;
   until FindNext(Rec) <> 0;
 finally
   FindClose(Rec);
 end;

If not SousRep then Exit;

if FindFirst(Rep + '*.*', faDirectory, Rec) = 0 then
 try
   repeat
    if ((Rec.Attr and faDirectory) <> 0)  and (Rec.Name<>'.') and (Rec.Name<>'..') then
     FileSearch(Rep + Rec.Name, Fichier, True);
   until FindNext(Rec) <> 0;
 finally
   FindClose(Rec);
 end;
end;



Merci de votre réponse

http://programmationdelphi.info/

4 réponses

Messages postés
107
Date d'inscription
lundi 30 mai 2011
Statut
Membre
Dernière intervention
29 avril 2013
1
salut
ajouter faVolumeID <> 0 al condition
@+
Messages postés
68
Date d'inscription
jeudi 3 novembre 2011
Statut
Membre
Dernière intervention
6 février 2015

Messages postés
68
Date d'inscription
jeudi 3 novembre 2011
Statut
Membre
Dernière intervention
6 février 2015

Merci de ta reponse walidlam

"ajouter faVolumeID <> 0"

Dans quel partie de la procedure ?

Merci de ta reponse,

http://programmationdelphi.info/
Messages postés
68
Date d'inscription
jeudi 3 novembre 2011
Statut
Membre
Dernière intervention
6 février 2015

Je pense que le probléme vien du TStringGrid.

J'ai essayé de changer l'affichage par un autre composant avec une TListBox

ListBox1.Items.Add(Path + Rec.Name);
( avec succès sa marche )
- Ignore les dossiers vide ( Me les affiches pas dans la TListBox )
exemple : C:\Mon dossier\Exemple\fichier.txt

Sa m'affiche que les chemins avec le nom du fichier + l'extension du fichier
Est non pas : C:\Mon dossier\Exemple\ [ Mon probléme est cette ligne ]
C:\Mon dossier\Exemple\fichier.txt
...

Donc j'ai remie le composant TStringGrid en modifiant la ligne
StringGrid1.Cells[0,StringGrid1.RowCount -1] := (Path + Rec.Name);


Modifier par :
StringGrid1.Cols[0].Add(Path + Rec.Name);

Cela me raffiche
exemple :
C:\Mon dossier\Exemple\
C:\Mon dossier\Exemple\fichier.txt
...
________________________________
http://programmationdelphi.info/